簡體   English   中英

報名表上的“錯誤”

[英]Php “errors” on registration form

大家好,我在將錯誤顯示在表單上時遇到了一些問題。 這是Im實時運行的代碼(僅在托管站點上對其進行測試),當我將其放入測試字段時,它什么也不顯示。 關於什么可能是錯的任何想法?

<?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>

我將回應@Casmir在有關使用isset的評論中所說的內容,但是您是否嘗試提交不正確的內容,然后只是查看頁面源代碼? 當您這樣做時,文本在那里嗎?

如果不是,則您的測試條件以及可能的條件查找錯誤均不正確,請嘗試在$ error變量上使用isset。

還有一件事情,您說這是在托管站點上,請確保通過本地php.ini文件將display_error設置為On(或者托管人支持自定義PHP配置值),以確保沒有代碼錯誤來阻止可以通過“生產級別”設置隱藏其中的任何一個來執行(當然,在完成測試后也要刪除它們!)。

您的條件不正確,因為您正在檢查!$ _ POST [email] ,因為每當您需要檢查is_empty($ _ POST [email])時 ,您都會得到它,如果是,則可以回顯“不允許為空”或其他內容(如果不為空),則可以放置正則表達式來檢查有效的電子郵件ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM