PHP+MySQL:如何在注册后自动登录


PHP + MySQL: How to auto login after registration

所以我想实现的是,注册的用户会自动登录,但我得到的只是一个白色页面,什么都没发生。。。数据被添加到数据库中,但用户不会自动登录…以下是的一些代码

首先表单:(如果已经有用户登录,则不会显示)

function registrer(){
if(!isset($_SESSION['brukerID'])){
echo'<center><h4>Registrer ny bruker!</h4></center><hr/>
<form method="POST" action="nybruker.php">
Passord<br>
    <input type="password" name="nybrukerpass" required pattern="(?=.*'d)(?=.*[a-z])(?=.*[A-Æ]).{8,}" title="Må bestå av minst 1 tall og en stor bokstav og små bokstaver og minst 8 bokstaver."><br>
Email<br>
    <input type="text" name="nybrukeremail" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+'.[a-z]{2,3}$" title="Epost@Domene.no"><br>
Fornavn<br>
    <input type="text" name="nybrukerfornavn" required ><br>
Etternavn<br>
    <input type="text" name="nybrukeretternavn" required ><br>
Adresse<br>
    <input type="text" name="nybrukeradresse" required ><br>
    <p>
        <input type="submit" value="Registrer Nå!" name="sendKnapp">
    </p>
</form>';}
}

现在是nybruker.hp:

mysql_query("SET AUTOCOMMIT=0");
mysql_query("START TRANSACTION");
$nybrukerpass = $_POST['nybrukerpass'];
$nybrukerfornavn = $_POST['nybrukerfornavn'];
$nybrukeretternavn = $_POST['nybrukeretternavn'];
$nybrukeradresse = $_POST['nybrukeradresse'];
$nybrukeremail = $_POST['nybrukeremail'];
 $sql1 = "INSERT INTO Bruker (BrukerID, Passord, Fornavn, Etternavn, Adresse, Epost, ErAnsatt)
        VALUES('NULL','$nybrukerpass', '$nybrukerfornavn', '$nybrukeretternavn','$nybrukeradresse', '$nybrukeremail', '0')";
 $sql2 = "SELECT BrukerID FROM Bruker WHERE Fornavn = '$nybrukerfornavn' AND Etternavn = '$nybrukeretternavn')";
 $brukerid = $sql2;
if ($sql1 and $sql2) {
    mysql_query("COMMIT");
    $_SESSION['brukerID'] = $brukerid;
    header( 'Location: index.php' );
} else {        
    mysql_query("ROLLBACK");    
    echo "feil i kode";
}

您正在设置会话变量,但我看不到您在脚本中启动会话。这会导致你描述的用户似乎没有登录的地方出现问题。如果还没有,请将其添加到脚本的顶部。

session_start();