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

时间:2015-03-18 14:11:43

标签: php mysql

所以我想要完成的是注册的用户自动获取登录的客栈但我得到的只是一个白页而没有任何反应......数据被添加到数据库但用户不会自动登录...这里有一些代码

首先是表格:(如果已经存在用户登录的旅馆,则不会显示)

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.php:

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";
}

1 个答案:

答案 0 :(得分:1)

您正在设置会话变量,但我没有看到您在脚本中启动会话。这会导致您在描述用户似乎无法登录的位置时遇到的问题。如果脚本尚未存在,请将其添加到脚本的顶部。

session_start();