谁能帮助我了解为什么我会收到解析错误?

时间:2019-02-11 19:57:01

标签: php

当前,我正在制作登录系统,但是遇到了一个问题。当我尝试注册时,会给我一个解析错误。

解析错误:语法错误,意外的';'在第12行的C:\ xampp \ htdocs \ php \ loginsystem \ includes \ signup.inc.php中

这也是第12行:

header("Location:../signup.php?error=emptyfields&uid=".$username."&mail=".$email);

我不确定为什么会给我这个错误。如果您能帮助我理解原因,我将不胜感激。谢谢。

signup.inc.php

<?php
if (isset($_POST['signup-submit'])) {

    require 'dbh.inc.php';

    $username = $_POST['uid'];
    $email = $_POST['mail'];
    $password = $_POST['pwd'];
    $passwordRepeat = $_POST['pwd-repeat'];

    if (empty($username) || (empty($email) || (empty($password) || (empty($passwordRepeat) ) {
        header("Location:../signup.php?error=emptyfields&uid=".$username."&mail=".$email);
        exit();
    }
    else if (!filter_var($email, FILTER_VALIDATE_EMAIL) && !preg_match("/^[a-zA-Z0-9]*$/", $username)) {
        header("Location: ../signup.php?error=invalidmailuid");
        exit();
    }
    else if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        header("Location: ../signup.php?error=invalidmail&uid=".$username);
        exit();
    }
    else if (!preg_match("/^[a-zA-Z0-9]*$/", $username)) {
        header("Location: ../signup.php?error=invaliduid&mail=".$email);
        exit();
    }
    else if ($password !== $passwordRepeat) {
        header("Location: ../signup.php?error=passwordcheck&uid=".$username."&mail=".$email);
        exit();
    }
    else {
        $sql = "SELECT uidUsers FROM users WHERE uidUsers=?";
        $stmt = mysqli_stmt_init($conn);
        if (!mysqli_stmt_prepare($stmt, $sql)) {
        header("Location: ../signup.php?error=sqlerror");
        exit();
        }
        else {
            mysqli_stmt_bind_param($stmt, "s", $username);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_store_result($stmt);
            $resultCheck = mysqli_stmt_num_rows($stmt);
            if ($resultCheck > 0) {
            header("Location: ../signup.php?error=usertaken&mail=".$email);
            exit(); 
            }
            else {

                $sql = "INSERT INTO USERS (uidUsers, emailUsers, pwdUsers) values (?, ?, ?)";
                $stmt = mysqli_stmt_init($conn);
                if (!mysqli_stmt_prepare($stmt, $sql)) {
                header("Location: ../signup.php?error=sqlerror");
                exit();
            }
            else {
                $hashedPwd = password_hash($password, PASSWORD_DEFAULT);


                mysqli_stmt_bind_param($stmt, "sss", $username, $email, $hashedPwd);
                mysqli_stmt_execute($stmt);
                header("Location: ../signup.php?signup=success");
                exit();
            }
            }
        }
    }
    mysqli_stmt_close($stmt);
    mysqli_close($conn);
}
else {
    header("Location: ../signup.php");
    exit();
}

0 个答案:

没有答案