簡體   English   中英

PHP:If陳述和表格

[英]PHP: If-Statement & Form

我的代碼是...

<?php
        $username = mysql_real_escape_string($_POST['username']);
        $password = mysql_real_escape_string($_POST['password']);
        $passwordr = mysql_real_escape_string($_POST['passwordr']);
        $email = mysql_real_escape_string($_POST['email']);

        if(empty($username) || empty($password) || empty($passwordr) || empty($email)) {
            echo '<div class="alert alert-danger">Bitte fülle alle Felder aus.</div>';
        }

        elseif(!preg_match('/^[a-zA-Z0-9-_^#]{4,15}$/', $username)) {
            echo '<div class="alert alert-danger">Bitte gebe einen gültigen Usernamen ein.<br />Der Username muss mindestens 4 und maximal 15 Zeichen lang sein und darf nur folgende Sonderzeichen enthalten: -_^#</div>';
        }

        elseif(!preg_match('/^[a-zA-Z0-9-_*^#?!.,;@€]{8,20}$/', $password)) {
            echo '<div class="alert alert-danger">Bitte gebe ein gültiges Passwort ein.<br />Das Passwort muss mindestens 8 und maximal 20 Zeichen lang sein und darf nur folgende Sonderzeichen enthalten: -_*^#?!.,;@€</div>';
        }

        elseif($passwordr != $password) {
            echo '<div class="alert alert-danger">Die Passwörter stimmen nicht überein.</div>';
        }

        elseif(!preg_match('/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/', $email)) {
            echo '<div class="alert alert-danger">Bitte gebe eine gültige E-Mail Adresse ein.</div>';
        }

        else {
            die("have a n1 day");
        }
    ?>

無論如何,即使表格不是空的,我總是會得到<div class="alert alert-danger">Bitte fülle alle Felder aus.</div>

為什么?

這是我的表格...

<div class="row">
        <form method="POST">
            <fieldset>
                <div class="col-lg-5">
                    <div id="username-group" class="form-group">
                        <label for="username">Username</label>
                        <input type="text" name="username" id="username" class="form-control" placeholder="Username">
                    </div>
                    <div id="password-group" class="form-group">
                        <label for="password">Passwort</label>
                        <input type="password" name="password" id="password" class="form-control" placeholder="Passwort">
                    </div>
                    <div id="passwordr-group" class="form-group">
                        <label for="passwordr">Passwort wiederholen</label>
                        <input type="password" name="passwordr" id="passwordr" class="form-control" placeholder="Passwort wiederholen">
                    </div>
                    <div id="email-group" class="form-group">
                        <label for="email">E-Mail</label>
                        <input type="email" name="email" id="email" class="form-control" placeholder="E-Mail">
                    </div>
                    <input type="submit" name="submit" id="submit" class="btn btn-default" value="Registrieren">
                </div>
            </fieldset>
        </form>
    </div>

我正在使用引導程序,但我不認為這是問題所在。 而且代碼看起來也不錯。

如果添加錯誤日志記錄

error_reporting(E_ALL);
ini_set('display_errors','On');

您將看到以下內容:

不推薦使用: mysql_real_escape_string() :不推薦使用mysql擴展,以后將被刪除:在第38行的... / public_html / index.php中使用mysqli或PDO代替

警告: mysql_real_escape_string() 第38行的 ... / public_html / index.php中用戶'www-data'@'localhost'的訪問被拒絕(使用密碼:NO)

mysql_real_escape_string要求您首先連接到數據庫。 同樣確實不贊成使用此功能。

您可以從代碼中刪除mysql_real_escape_string開始,以查看它是否有效。

暫無
暫無

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

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