首页 文章

HTML表单PHP问题

提问于
浏览
0

我到处寻找并搜寻高低 . 我已经看到了我即将发布的PHP代码的许多问题,但没有任何关于我所看到的具体问题 .

这是我的问题 - 两行($ values / $ required)我有'name','email',subject','message'

我想在其中添加'tel' . (即'name','email','tel','subject','message')

如果我将它添加到两行中的一行(无论哪一行),我仍然可以提交表格,但它不会在我收到的电子邮件中给我那行(电话) .

如果我将'tel'添加到BOTH行($ values / $ required),那么当我点击提交(填写所有行)时,我会得到一个“请填写所有必填字段,标有*” .

有人能告诉我我错过了什么吗?

另外 - '主题'实际上是一个vin / body#但是如果我将html中的标签更改为'vin'而不是'subject',那么它会给我“请填写所有必填字段,标有*”错误,所以我只是将它保留为“主题”,即使这不是与表单中该行项目真正关联的内容 .

<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
    $error.="Invalid email address entered";
    $errors=1;
}
if($errors==1) {
    echo $error;
} else {
    $values = array('name','email','subject','message',);
    $required = array('name','email','subject','message',);

    $your_email = "myemail@mydomain.com";
    $email_subject = "VIN / Body - ".$_POST['subject'];
    $email_content = "PART INQUIRY INFORMATION BELOW \n";

    foreach ($values as $key => $value) {
        if (in_array($value,$required)) {
            if ($key != 'subject' && $key != 'company') {
                if (empty($_POST[$value])) {
                    echo 'Please fill in all required fields, marked with *';
                    exit;
                }
            }
        }
        $email_content .= $value.': '.$_POST[$value]."\n";
    }

    if(@mail($your_email,$email_subject,$email_content)) {
        echo 'Message sent!';
    } else {
        echo 'ERROR!';
    }
}
?>

1 回答

  • 0

    更新的答案:

    好吧,有好消息和坏消息 . 好消息是,我认为您的代码实际上正常运行 . 我认为你的表单实际上没有发布'tel'字段 .

    我通过将$ _POST数组替换为:

    $_POST = array('name' => 'Joel', 'email' => 'joel.small@biscon.com.au', 'subject' => 'Guy','message' =>'Thingo','tel' => 'Some number');
    

    然后我将'tel'添加到'values'数组中,你的代码按预期工作 .

    在处理数据并查看数组结构之前执行print_r($ _ POST) . 如果没有tel字段,表单不会提交 .

相关问题