您好,我正在嘗試在我製作的CMS中創建多個用戶。我把他們所有的數據放在一張表中,並且正在使用mysql_num_rows
檢查記錄是否匹配,然後使用session_register()
來設置會話。我已將其更改爲PDO命令。
我希望能夠在用戶使用CMS時跟蹤用戶,以便每個更改的記錄都可以附加它們的usrID。因此,在稍後的日期,我可以看到誰進行了更新,並最終使用它來顯示關於作者的信息等。
因此,例如,當他們使用表單更新或添加新記錄時,隱藏輸入的會話標識echo'd進入它將從他們的用戶記錄,當他們登錄
是做到這一點的最好方法?在此登錄代碼中正確寫入語法?
$con = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$sql="SELECT * FROM $tbl_name WHERE the_username='$the_username' and the_password='$the_password'";
$result = $con->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();
if($number_of_rows==1){
$info = $result->fetch(PDO::FETCH_ASSOC);
$_SESSION['username'] = $info['the_username'];
$_SESSION['id'] = $info['id'];
header('Location: admin.php');
}else{
echo "Wrong username or password, please refresh and <a href=\"login.php\">try again.</a>";
}
這可能是更好嗎?
if($number_of_rows==1 && $info = $result->fetch(PDO::FETCH_ASSOC)){MAKE SESSION}
優秀這是太棒了謝謝你,我會試試這個。我現在可以看到哪裏出了問題。 – 2013-04-23 11:18:33
回顯後檢查它顯示它仍然沒有設置$ _SESSION。我不知道爲什麼不,但我認爲這是一個服務器問題,因爲所有瀏覽器上的舊_mysql _ * _代碼都會發生同樣的情況。一切都在所有字符之前發送。 – 2013-04-23 11:32:04