Php"错误"在登记表上

时间:2015-10-18 17:56:25

标签: php regex

嘿伙计我有一些问题没有让我的错误显示在我的表格上。这是我正在运行的代码(只是在我的托管网站上测试它),当我把东西放到测试区域时,它没有显示任何内容。什么可能是错的?

<?php

    if ($_POST['submit']) {

      if (!$_POST['email']) $error.="Please enter your email!";
        else if !(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $error.="Uh Uh uh, you didn't enter a valid email address!";

    if (!$_POST['password']) $error.="Please enter a password!";
        else {

         if (strlen($_POST['password'])<8) $error.="Please enter a password of at least 8 characters.";
        if (!preg_match('`[A-Z]`',$_POST['password'])) $error.="Please include at least one capital letter in your password."

        }

    if ($error) echo "There were error(s) in your sign up details:".$error;
    }


?>


<form method="post">

    <input type ="email" name="email" id="email" />

    <input type ="password" name="password" />

    <input type ="submit" name="submit" value ="Click for Cookies" />

</form>

2 个答案:

答案 0 :(得分:1)

我将回应@Casmir在关于使用isset的评论中所说的内容,但您是否尝试过提交不正确的内容然后只是查看页面源代码?当你这样做的时候,那里有文字吗?

如果不是那么您的测试条件和可能的条件查找错误是不正确的,请尝试在$ error变量上使用isset。

还有一件事,你说这是在托管网站上,确保你通过本地php.ini文件将display_error设置为On(或者你的托管服务商支持自定义PHP配置值)以确保没有代码阻止执行完成的错误,这些错误将通过“生产级别”设置隐藏(当然,当完成测试时也将其删除!)。

答案 1 :(得分:0)

您的状况不正确,因为您正在检查!$ _ POST [email] ,因为每次您需要的时候都会检查 is_empty($ _ POST [email] ),如果是,你可以回显“不允许为空”或其他东西,如果不是空的,你可以放置正则表达式来检查有效的电子邮件ID。