我尝试在登录过程后访问页面但由于会话写入命令不起作用而无法访问。搜索完这个网站后,我仍然找不到解决方案。 我尝试了所有可能的解决方案,但没有一个对我有用,因为我要求解决会话问题。
include 'config.php';
$cdate = date("d.m.Y");
$cdate = date("d.m.Y");
if($_POST['kontrol'] == 'register'){
$un = $_POST['nick'];
$email = $_POST['email'];
$password = $_POST['password'];
$kontrol = $db-query("SELECT * FROM user WHERE username = '{$un}'")->fetch(PDO::FETCH_ASSOC);
$kontrol2 = $db->query("SELECT * FROM user WHERE email = '{$email}'")->fetch(PDO::FETCH_ASSOC);
if($kontrol['username'] == $un){
echo "<font color='red'> The username is already being used !";
}else{if($kontrol2['email'] == $email){echo "<font color='red'> The Email adress is already being used !";}
else{
$query = $db->prepare("INSERT INTO user SET
username = ?,
pass = ?,
fullname = ?,
email = ?,
cdate = ?,
status = ?,
lastlogin = ?,
bday = ?,
pnum = ?
");
$insert = $query->execute(array(
$_POST['nick'], md5($_POST['pass1']), $_POST['fullname'], $_POST['email'], $cdate, "0", $cdate, $_POST['bday'], $_POST['pnum']
));
if ( $insert ){
print "<font color='red'>Your registration has been successfully completed";
}else{
echo "<font color='red'>Your registration has failed";
}
}
}
// -------------------登录------------------
}else if($_POST['kontrol1'] == 'login'){
$username = $_POST['nick1'];
$password = md5($_POST['pass']);
if (!$username || !$password ){
echo "Enter your user name and password";
}else{
$query = $db->query("SELECT * FROM user WHERE username = '$username' && pass = '$password'")->fetch(PDO::FETCH_ASSOC);
if ($query){
session_start();
$_SESSION['login'] = true;
$_SESSION['id'] = $query["id"];
$_SESSION['status'] = $query["status"];
$_SESSION['username'] = $query["username"];
$_SESSION['password'] = $query["password"];
} else{
echo "<font color='red'> The username or password you entered is incorrect </font>";
}
}
}
答案 0 :(得分:0)
您需要在每个页面的顶部添加 session_start()。