【问题标题】:Simple contact form validation with IF statements in PHP [duplicate]使用 PHP 中的 IF 语句进行简单的联系表单验证 [重复]
【发布时间】:2016-07-29 11:52:43
【问题描述】:

我已经用 HTML5 制作了一个联系表单,我想用 PHP 对其进行验证。我使用了 Brad Hussey 在 UDEMY 课程中展示的方法。所以我用 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";
}

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

【问题讨论】:

  • var_dump($_POST); 显示什么?
  • 这和 Bootstrap 有什么关系?
  • "..所以问题应该在这 3 个 IF 语句中" 什么问题?
  • 问题不清楚。还有STfilter_var 是什么?删除 ST 前缀。

标签: php html twitter-bootstrap validation


【解决方案1】:

Tuğca Eker 是对的!

问题出在STfilter_var前缀。

正确的说法是这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2014-08-22
    • 1970-01-01
    • 2012-09-23
    • 2013-01-26
    • 2018-10-26
    • 2012-11-12
    相关资源
    最近更新 更多