我正在創建一個表單,人們需要登錄才能更新,登錄和會話重定向工作正常。我已經嘗試了數百種來自書籍和論壇的會議變體,但似乎沒有做我想做的事情,而且看起來很簡單。 這是上一頁的代碼。php會話不能在其他頁面上工作
<?php
include("setting.php");
$sql="SELECT * FROM $tbl_namem";
$result=mysql_query($sql);
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_namem WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_start();
$_SESSION["myusername"];
$_SESSION["mypassword"];
header("location: login_success.php");
}
else {
echo "Wrong Username or Password Please Try Again";
}
?>
我想加載下兩頁,如果用戶名和密碼已驗證。
嘗試將'session_start();'放在頁面的頂部,而不是下面的更下面。加上這個'$ _SESSION [「myusername」];'另一個,如果它們沒有分配任何東西,對你沒有任何好處。你可以試試'$ _SESSION [「myusername」] = $ _ POST ['myusername'];等等。 –
我們可以看到下一頁的代碼嗎? – Aust
我還注意到,您以純文本存儲密碼,這是一個明確的「no-no」。那樣,用'mysql_ *'函數而不是'mysqli_ *'與準備好的語句或PDO混合在一起,就等於是災難。 –