我正在设置登录/注销,并且正在尝试将用户ID号发送到网站中的其他页面,以便我可以在需要时操作数据库。当用户登录时将会话变量设置为user_id
我使用查询匹配的电子邮件/密码和登录用户(注:这不是完整的代码,而不是问题,我相符的电子邮件和密码)
$find= mysqli_query("SELECT * FROM users WHERE email='$ema' and password="$pw");
然后我取一个数组然后开始一个会话,然后我在网页上进一步查看页面。
if(mysql_num_rows($find) == 1){
$row = mysql_fetch_array($result, MYSQL_BOTH);
$id= $row ['id'];
session_start();
$_SESSION['Login']= $id;
// Redirect - I use JS to send users to next page
}
else {
echo '<script type="text/javascript">';
echo 'alert("Invalid Username or Password");';
echo 'history.back();';
echo '</script>';
}
mysql_close($link);
在其他网页,我有检查的会议,如果他们还没有登录用户重定向代码下面是代码:
<?php
session_start();
if(!isset($_SESSION['Register'])){
if(!isset($_SESSION['Login'])){
header("location:../notLoggedIn.php");
}
}
$get_id = $_SESSION['Register'];
$get_id = $_SESSION['Login'];
?>
然后,当我检查什么在id变量从此登录页面传递:
$profile = mysql_query("SELECT * FROM profiles WHERE id= $id");
var_export($id);
我得到一个空值。出了什么问题?
放的session_start();在标题上。 – Noman
首先检查您是否从您的数据库获取记录。看看它在'mysql_num_rows($ find)'里面。 –
@MahaDev我正在记录。我检查了整个阵列。 – tdrsam