1
我已經閱讀了大量關於此問題的文章,無論是在這裏還是在其他地方,都沒有找到可以幫助我的答案。既然主題看起來比較寬泛,我認爲最好的方法就是問。
我目前通過jQuery文件中的$ .post腳本將表單中的登錄數據發送到php腳本。那裏沒有問題。我有一個類通過一系列函數來驗證和保護字符串,所以沒有問題。我一路設置會話,我可以打印出來,並通過添加函數(數據)到我的$ .post。
我已經將session_start()添加到php腳本和index.php中。我使用Chromium,可以看到已經設置了會話,但是當我創建print_r($ _ SESSION)時;它是空的。顯然,這也導致我的if(isset($ _ SESSION ['uid']))也不起作用。
JS:
$('#login').submit(function(e){
e.preventDefault();
values = {};
var url = '../admin/php/signIn.php';
console.log('Clicked on submit.');
$.each($(this).serializeArray(), function(i, field){
values[field.name] = field.value;
});
$.post(url, {username: values.username, password: values.password})
.done(function(data){ location.reload(); /*alert(data);*/ })
.fail(function(){ alert('Fail.'); });
});
PHP:
private function login($uid, $uname){
$_SESSION['uid'] = $uid;
echo $_SESSION['username'] = $uname;
session_start();
}
我加在會話中的一個迴音,只是爲了能夠看到它通過jQuery的。 與「私人函數[...]」或其他地方的問題? (正如我之前所說的那樣上課。)
我希望這對某人有意義,因爲我在這裏輸了。
我覺得自己很愚蠢嗎?之前我已經做了很多工作,但我認爲這是其中的一個晚上。謝謝,它工作。 – 2013-03-25 22:45:37
@RichardAtterfalk當發生這種情況時,現在是睡午覺的好時機lol – Tchoupi 2013-03-25 22:47:47
真的!畢竟,已經過了午夜。但是現在登錄腳本完成了,我可以繼續添加樣式並添加CRUD。但那是明天。再次感謝您的幫助。 :) – 2013-03-25 23:24:27