我剛做了登錄功能,它工作正常;登錄功能只能渲染第一個字母
但是名稱顯示不正確;由於某種原因,它只回應名稱的第一個字母J.而不是Jack。
它在數據庫中寫得很好。
echo "You are now logged in , {$_SESSION['name']}";
有沒有人遇到同樣的問題?
問候
亞切克
我剛做了登錄功能,它工作正常;登錄功能只能渲染第一個字母
但是名稱顯示不正確;由於某種原因,它只回應名稱的第一個字母J.而不是Jack。
它在數據庫中寫得很好。
echo "You are now logged in , {$_SESSION['name']}";
有沒有人遇到同樣的問題?
問候
亞切克
echo "You are now logged in , {$_SESSION[name]}";
不要使用引號name
。它們在用雙引號字符串訪問數組元素時不是必需的。
只是想我可能會添加更多的代碼,以使問題多一點明確:
這裏的功能check_login檢查,如果結果是在數據庫中,並將其傳遞到另一個文件:
function check_login($db, $email = '', $pass='')
{
if(!empty($_POST['email']) && !empty($_POST['pass']))
{
$sql="SELECT * FROM users WHERE email='$email' AND password='$pass'";
$r=$db->query($sql);
$num=$r->num_rows;
if($num != 0)
{
$row=$r->fetch_assoc();
return array (true, $row['name']);
}
else
{
echo "Your login details are incorrect. Please try again.";
}
}
}
在另一個文件:
list($check,$data) = check_login($db, $_POST['email'], $_POST['pass']);
if($check)
{
session_start();
$_SESSION['user_id'] = $data['user_id'];
$_SESSION['name'] = $data['name'];
redirect_user('the_stoles/loggedin.php');
}
else
{
echo "Your login details are incorrect. Please try again.";
}
ANE最後:
SES sion_start();
if(!isset($_SESSION['user_id']))
{
require('login_functions.php');
redirect_user();
}
else
{
echo "You are now logged in, {$_SESSION['name']}";
}
我希望我說得更清楚一些,有人可能會得到一個線索。
乾杯提前 亞切克
我試着不帶引號,並得到一個錯誤信息 – Jack
任何其他建議? – Jack
'var_dump($ _ SESSION [「name」])''的結果是什麼? –