我的登录有问题,我的登录仅适用于第二次尝试。
我的安全网站代码: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