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