所以我想实现的是,注册的用户会自动登录,但我得到的只是一个白色页面,什么都没发生。。。数据被添加到数据库中,但用户不会自动登录…以下是的一些代码
首先表单:(如果已经有用户登录,则不会显示)
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();