我的登錄有問題,我的登錄僅適用於第二次嘗試。
我的安全網站代碼:PHP會話登錄
<?php
session_start();
if(!isset($_SESSION["user"])){
header('Location:login.php');
exit;
}
?>
從的login.php我登錄的代碼是
<?php
try {
$dbh = new PDO($dsn, $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo 'Verbindung fehlgeschlagen: ' . $e->getMessage() . '<br>';
}
$myusername = $_POST['user'];
$mypassword = $_POST['pass'];
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$stmt= $dbh->query("SELECT * FROM users WHERE username='$myusername' and password='$mypassword'");
$count= $stmt->rowCount();
$dbh=null;
if($count==0){
header('Location:loginfail.php');
}
if($count==1){
$_SESSION["user"]= $_POST['user'];
header('Location:customerinfo.php')
}
>?
我試着用print_r($_SESSION)
檢查會議。該會話每次都會啓動,之後我可以訪問customerinfo
網站。
有人可以幫助我嗎?
謝謝你們!
你運行你的login.php中的session_start()? – Phiter
你應該閱讀SQL注入和密碼散列。 – jeroen
'stripslashes'不能防止SQL注入。 – chris85