登录PHP不能正常工作?

时间:2018-04-05 06:04:32

标签: php

我一直在努力想象我们这几天,并且无法理解它!我正在尝试为我的网站创建一个简单的登录功能,这是我以前从未做过的,并且正在努力学习,而且我有点挣扎。这是下面的代码,任何人都可以帮忙!?

Signup.php

    <?php
      include_once 'header.php';?>

        <section class="main-container">
            <div class="main-wrapper">
                <h2>Sign Up</h2>
                <form class="signup-form" action="includes/signup.inc.php" method="post">
                    <input type="text" name="first" placeholder="Firstname">
                    <input type="text" name="last" placeholder="Lastname">
                    <input type="text" name="email" placeholder="Email">
                    <input type="text" name="uid" placeholder="Username">
                    <input type="password" name="pwd" placeholder="Password">
                    <button type="submit" name="submit">Sign up</button>
                </form>
            </div>
        </section>
<?php include_once 'footer.php';?>

duh.inc.php - 我在这里用密码填写了用户名。

<?php

$dbServername = "213.171.200.83";
$dbUsername = "User_Name";
$dbPassword = "Password";
$dbName = "Login";

$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName)

Signup.inc.php

<?php

if (isset($_POST['submit'])) {

    include_once 'dbh.inc.php';

    $first = mysqli_real_escape_string($conn, $_POST['first']);
    $last = mysqli_real_escape_string($conn, $_POST['last']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $uid = mysqli_real_escape_string($conn, $_POST['uid']);
    $pwd = mysqli_real_escape_string($conn, $_POST['pwd']);

    //Error handlers
    //Check for empty fields
    if (empty($first) || empty($last) || empty($email) || empty($uid) || empty($lpwd)) {
        header("Location: ../signup.php");
        exit();
    } else {
        //Check if input characters are valid
        if (!preg_match("/^[a-zA-Z]*$/", $first) || !preg_match("/^[a-zA-Z]*$/", $last)) {
            header("Location: ../signup.php?signup=invalid");
            exit();
        } else {
            //Check if email is valid
            if (!filter_var($email, FILTER_VALIDATE_EMAIL))
            header("Location: ../signup.php?signup=invalidemail");
            exit();
        } else {
            $sql = "SELECT * FROM users WHERE user_uid='$uid'";
            $result = mysqli_query($conn, $sql);
            $resultCheck = mysqli_num_rows($result);

            if ($resultCheck > 0) {
                header("Location: ../signup.php?signup=usertaken");
            exit();
            } else {
                //Hashing Password
                $hashedPwd = password_hash($pwd, PASSWORD_DEFAULT)
                //Insert user into the database
                $sql = "INSERT INTO users (user_first, user_last, user_email, user_uid, user_pwd) VALUES ('$first', '$last', '$email', '$uid','$hashedPwd');";
                mysqli_query($conn, $sql);
                header("Location: ../signup.php?signup=Sucsess");
            exit();
            }
        }
    }

} else {
    header("Location: ../signup.php?signup=empty");
    exit();
}

2 个答案:

答案 0 :(得分:1)

改变这个

if (empty($first) || empty($last) || empty($email) || empty($uid) || empty($lpwd)) {
    header("Location: ../signup.php");
    exit();

if (empty($first) || empty($last) || empty($email) || empty($uid) || empty($pwd)) {
    header("Location: ../signup.php");
    exit();

答案 1 :(得分:0)

您在Signup.inc.php的第15行中使用了 $ lpwd ,但未定义。

只是输入错误。

使用此:

    if (empty($first) || empty($last) || empty($email) || empty($uid) || empty($pwd)) {