簡體   English   中英

注冊表單發布操作期間發生PHP錯誤

[英]PHP error during registration form post action

我一直在嘗試編碼的注冊表存在一些問題。 我收到的錯誤是404錯誤,指出引用鏈接已過時或不正確。

我對為什么感到困惑,因為我知道該文件存在於同一目錄中,因此我將其稱為。

請看下面。 如果那還不夠,我已經將整個項目鏈接到了這里

據我所知,該錯誤似乎來自我的check-registration.php中的引薦鏈接,這是表單發布所指向的動作:

檢查注冊php:

<?PHP session_start();

include "../../functions/registration.php";
check_form("Register", "username", $_POST['username']);
check_form("Register", "email", $_POST['email']);
check_form("Register", "password1", $_POST['password1']);
check_form("Register", "password2", $_POST['password2']);

if ($_SESSION['registration-username'] == "OK")
{
    $username = htmlentities($_POST['username']);
    check_exists_username($username);

}

if ($_SESSION['registration-mail'] == "OK")
{
    $email = htmlentities($_POST['email']);
    check_regex_mail($email);
    $return = check_exists_mail($email);
    $_SESSION['flag-email-exists'] = ($return > 0) ? "KO" : "OK";
}

if ($_SESSION['registration-password1'] == "OK")
{
    $password1 = $_POST['password1'];
    check_regex_password($password1, "flag-regex-password");
}

if ($_SESSION['registration-password2'] == "OK")
{
    $password2 = $_POST['password2'];
}
if ($_SESSION['registration-password1'] == "OK" && $_SESSION['registration-password2'] == "OK")
{
    check_same_password($password1, $password2, "same-password");
}

if ($_SESSION['registration-username'] == "OK" && $_SESSION['registration-email'] == "OK"
&& $_SESSION['registration-password1'] == "OK" && $_SESSION['registration-password2'] == "OK"
&& $_SESSION['flag-regex-password'] == "OK" && $_SESSION['flag-regex-mail'] == "OK"
&& $_SESSION['flag-user-exists'] == "OK" && $_SESSION['flag-email-exists'] == "OK"
&& $_SESSION['same-password'] == "OK")
{
    echo $username;

$_SESSION['flag-registration'] = "OK";
try{
    include '../../config/database.php';
    $bdd = new PDO($DB_DSN, $DB_USER, $DB_PASSWORD);
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $bdd->query("USE camagru");
    $password = hash('sha512', $password1);
    $requete = $bdd->prepare("INSERT INTO `utilisateurs` (`login`, `email`, `groupe`, `mdp`)
    VALUES(:username, :email, :user, :password)");
    $requete->bindParam(':username', $username);
    $requete->bindParam(':email', $email);
    $requete->bindValue(':user', 'user');
    $requete->bindParam(':password', $password);
    $requete->execute();

    send_confirmation_mail($username, $email, $_POST['submit']);
}
catch (PDOException $e) {
    print "Error : ".$e->getMessage()."<br/>";
    die();
}
echo "<meta http-equiv='refresh' content='0,url=registration.php'>";

}
else {
    echo "<meta http-equiv='refresh' content='0,url=registration.php'>";
    exit();
}
?>

這是注冊頁面:

   <?PHP session_start();
        if ($_SESSION['id'])
        {
            header('Location: ../account/my-account.php');
        exit();
    }

?>
<!DOCTYPE html>
<html>
<head>
<style>
    @import url('https://fonts.googleapis.com/css?family=Merienda+One');
    @import url('https://fonts.googleapis.com/css?family=Open+Sans');
</style>
<link rel="stylesheet" type="text/css" href="../../css/global.css">
<link rel="stylesheet" type="text/css" href="../../css/header.css">
<link rel="stylesheet" type="text/css" href="../../css/inscription.css">
<meta name="google" content="notranslate" />
<title>Register - Camagru</title>
</head>

<body>
    <?php
    $current_page = "Register";
    include '../../header.php';
    ?>
    <div class="center">
        <h2>Register</h2><br/>

        <form action="checking-register.php" method="post">
            <fieldset>
                <legend>Register Below</legend><br/>
            <label for="username">Username :</label>
            <input
            type="text"
            name="username" id="username"
            <?PHP if ($_SESSION['registration-username'] == "KO" ||
            $_SESSION['flag-user-exists'] == "KO")
            {echo "class='invalid'";}?>><br/><br/>
            <label for="email">Email :</label>
            <input
            type="email"
            name="email"
            id="email"
            <?PHP if ($_SESSION['registration-mail'] == "KO" ||
            $_SESSION['flag-regex-mail'] == "KO" || $_SESSION['flag-email-exists'] == "KO")
            {echo "class='invalid'";}?>><br/><br/>
            <label for="password1">Password :</label>
            <input
            type="password"
            name="password1"
            id="password1"
            <?PHP if ($_SESSION['registration-password1'] == "KO" ||
            $_SESSION['flag-regex-password'] == "KO")
            {echo "class='invalid'";}?>><br/><br/>
            <label for="password2">Repeat Password :</label>
            <input
            type="password"
            name="password2"
            id="password2"
            <?PHP if ($_SESSION['registration-password2'] == "KO")
            {echo "class='invalid'";}?>><br/><br/>
            <input
            type="submit"
            name="submit"
            value="Submit"/>
        </fieldset>
        </form><br/><br/>

        <?PHP
        include "../../errors.php";
        error_registration();
        delete_error_registration();
        ?>
    </div>
</body>
<?php
include '../../footer.php';
 ?>


</html>

修正您的連結:

echo "<meta http-equiv='refresh' content='0,url=registration.php'>";

echo "<meta http-equiv='refresh' content='0,url=register.php'>";

PS:您可以使用php重定向

header('Location: register.php');

暫無
暫無

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

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