登录并注册PHP表单,一个不提交工作

时间:2017-02-18 20:51:29

标签: php html forms login

我有两个PHP表单,都带有不同值的提交按钮。寄存器一个正常工作,正确查询数据库,并在有人输入错误时引发错误。然而,登录一个不起作用,我似乎无法弄清楚为什么。看起来我设置的捕获工作似乎不适用于登录,但它看起来与寄存器一样?

PHP if语句:

if ($_POST['submit'] == 'Login') {
    // Checking whether the login form has been submitted
    $err = array();
    echo "hey";

    array_push($err, "Hello");
    /*
    if (!count($err)) {
        $_POST['username'] = mysql_real_escape_string($_POST['username']);
        $_POST['password'] = mysql_real_escape_string($_POST['password']);
        $_POST['rememberMe'] = (int)$_POST['rememberMe'];
        // Escaping all input data

        $row = mysql_fetch_assoc(mysql_query("SELECT id,usr,pass FROM tz_login WHERE usr='{$_POST['username']}'"));
        echo $row;
        $pass = $row['pass'];

        if (password_verify($_POST['password'], $pass)) {
            // If everything is okay

            $_SESSION['usr'] = $row['usr'];
            $_SESSION['id'] = $row['id'];
            $_SESSION['rememberMe'] = $_POST['rememberMe'];
            // Store some data in the session

            setCookie('remember', $_POST['rememberMe']);
        }
        else $err[] = 'Wrong username and/or password!';
    }
    */
    if (count($err)) {
        $_SESSION['msg']['login-err'] = implode('<br />'.$err);
    }

    header("Location: index.php");
    exit;
}

else if ($_POST['submit'] == 'Register') {
    // Checking whether the register form has been submitted

    $err = array();

    $username_len = strlen($_POST['username']);
    if ($username_len < 4 || $username_len > 32) {
        array_push($err, 'Your username must be between 3 and 32 characters!');
    }
    if (preg_match('/[^a-z0-9\-\_\.]+/i', $_POST['username'])) {
        array_push($err, 'Your username contains invalid characters!');
    }
    if (!checkPassword($_POST['password'])) {
        array_push($err, 'Your password must be at least 8 characters, contain one letter, number, and special character!');
    }
    if (!passwordMatch($_POST['password'], $_POST['password_repeat'])) {
        array_push($err, 'Your passwords do not match!');
    }
    if (!checkEmail($_POST['email'])) {
        array_push($err, 'Your email is not valid!');
    }

    if (!count($err)) {
        // If there are no errors
        $username = mysql_real_escape_string($_POST['username']);
        $pass = mysql_real_escape_string($_POST['password']);
        $pass = password_hash($pass, PASSWORD_DEFAULT);
        $email = mysql_real_escape_string($_POST['email']);
        // Escape the input data

        mysql_query("INSERT INTO tz_login(usr,pass,email,regIP,dt)
                VALUES(
                    '".$username."',
                    '".$pass."',
                    '".$email."',
                    '".$_SERVER['REMOTE_ADDR']."',
                    NOW()
                )");
        if (mysql_affected_rows($link) == 1) {
            $_SESSION['msg']['reg-success'] = 'Successfully registered! You can now log in!';
        }
        else $err[] = 'This username has already been taken!';
    }
    if (count($err)) {
        $_SESSION['msg']['reg-err'] = implode('<br />', $err);
    }

    header("Location: index.php");
    exit;
}

HTML表单:

<!-- Login form -->
<div class="left">
    <h1>Login</h1>
    <form action="" method="post">
        <?php
            if($_SESSION['msg']['login-err']) {
                echo '<div class="err">'.$_SESSION['msg']['login-err'].'</div>';
                unset($_SESSION['msg']['login-err']);
            }
        ?>
        <label class="form_label" for="username">Username:</label>
        <input class="form_field" type="text" name="username" id="username" value="" size="23" />
        <label class="form_label" for="password">Password:</label>
        <input class="form_field" type="text" name="password" id="password" value="" size="23" />
        <label><input name="rememberMe" id="rememberMe" type="checkbox" checked="checked" value="1" /> &nbsp;Remember me</label>
        <input type="submit" name="submit" value="Login" class="bt_login" />
        <div class="clear"></div>
    </form>
</div>

<!-- Register form -->
<div class="left">
    <h1>Register</h1>
    <form action="" method="post">
        <?php
            if($_SESSION['msg']['reg-err']) {
                echo '<div class="err">'.$_SESSION['msg']['reg-err'].'</div>';
                unset($_SESSION['msg']['reg-err']);
            }
            if($_SESSION['msg']['reg-success']) {
                echo '<div class="success">'.$_SESSION['msg']['reg-success'].'</div>';
                unset($_SESSION['msg']['reg-success']);
            }
        ?>

        <label class="form_label" for="username">Username:</label>
        <input class="form_field" type="text" name="username" id="username" value="" size="23" />
        <label class="form_label" for="password">Password:</label>
        <input class="form_field" type="text" name="password" id="password" value="" size="23" />
        <label class="form_label" for="password_repeat">Repeat Password:</label>
        <input class="form_field" type="text" name="password_repeat" id="password_repeat" value="" size="23" />
        <label class="form_label" for="email">Email:</label>
        <input class="form_field" type="text" name="email" id="email" value="" size="23" />
        <input type="submit" name="submit" value="Register" class="bt_login" />
        <div class="clear"></div>
    </form>
</div>

0 个答案:

没有答案
相关问题