1
當用戶登錄到成員的唯一區域我試圖拉其他數據,如他們的名字連同他們的登錄憑據是電子郵件和密碼,但似乎無法使查詢成功輸出數據。它成功登錄,但我不能得到任何其他通過傳遞到會話
<?php
session_start();
@$db = new mysqli("localhost", username, password, table);
if ($db->connect_errno !=0) {
exit;
}
$usern = $_POST['username'];
$passw = $_POST['passw'];
$query = "SELECT * FROM cf_users WHERE(firstname='".$firstName."' and email='".$usern."' and password='".$passw."')";
$db->query($query);
$result = $db->query($query);
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
if($row[0]>0) {
$_SESSION['email'] = $usern;
$_SESSION['firstName'] = $row['firstName']; // Modified after suggestion
header("location: page.php");
exit();
}
else {
exit("Login Failed.<br/>'.
'Please fill them in and try again. <a href='javascript:history.go(-1)'>Go back</a>");
}
$closed = $db->close();
?>
只需使用$ row數組中的值(如果它們的名字在數據庫中)$ _SESSION ['firstname'] = $ row ['firstname']]。另外值得一提的是,你的腳本可以更安全,因爲它對SQL注入是開放的,並且密碼以明文形式存儲 - 查看用md5或sha2對它們進行編碼 –
另一個好主意是創建一個用戶對象。您可以將所需的所有信息存儲在對象中,然後將其保存在會話變量中。 – fimas
我添加了$ _SESSION ['firstName'] = $ row ['firstName']。到代碼然後<?php echo $ _SESSION ['firstName']; ?>並顯示數字1 – Charles