使用PHP

时间:2016-07-29 11:52:44

标签: php html5 twitter-bootstrap validation

我在HTML5中创建了一个联系表单,我想用PHP验证它。我在UDEMY课程中使用了 Brad Hussey 所展示的方法。所以我用POST方法得到了数据。然后是这段代码:

if ($_POST) {

    if (!$_POST['nev']) {
        $error .= "Kérem töltse ki a név mezőt!<br>";
    }

    if (!$_POST['email']) {
        $error .= "Kérem adja meg az email címet!<br>";
    }

    if ($_POST['email'] && STfilter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false) {
        $error .= "A(z) $emailcim cím nem valós";
    } 

    if ($error != "") {
        $error ='<div class="alert alert-danger" role="alert">Hiba lépett fel!<br>' . $error . '</div>';
    } else {
        $nev = $_POST['nev'];
        $emailcim = $_POST['email'];

        include 'phpmailer.php';        
    }

}

phpmailer.php可以正常工作,如果我单独编辑它。如果我跳过验证并直接转到phpmailer.php,一切都还可以。所以问题应该在这3个IF语句中,只是我无法弄明白:(

你有什么想法吗?

更新:对不起,我没有写好这个问题。这只是简单的白页。因此,当我点击提交按钮时,它不会发送邮件,也不会返回到网站。它变成了一个完全空白的页面。像我想念的那样;标志。但是我多次检查它(使用语法检查器),没有任何遗漏。

我认为问题可能出在这里:

  if ($_POST['email'] && STfilter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false) {
    $error .= "A(z) $emailcim cím nem valós";
}

我真的不明白这部分的工作原理。

1 个答案:

答案 0 :(得分:0)

TuğcaEker是对的!

问题是STfilter_var前缀。

正确的陈述是:

if ($_POST['email'] && filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false) {
$error .= "A(z) $emailcim cím nem valós"; 
}