我一直坐在这里琢磨这是一个好的30分钟现在,我只是不能看到什么是错的。登录功能似乎没有正常工作
我已经添加了打印,但它似乎没有正确地联系数据库,或者没有正确地从数据库中提取数据。
$conf['sql_host'] = 'localhost';
$conf['sql_user'] = 'root';
$conf['sql_pass'] = '';
$conf['sql_data'] = 'c_webauth';
mysql_connect($conf['sql_host'], $conf['sql_user'], $conf['sql_pass']) or die('Connection failed: '.mysql_error());
mysql_select_db($conf['sql_data']);
function login($user, $pass){
session_regenerate_id();
if (isset($_SESSION['user_id'])) {
unset($_SESSION['user_id']);
}
$qry = mysql_query("SELECT user_id, user, user_group, user_name FROM c_users where user='$user' AND pass='".md5($pass)."'");
if (mysql_num_rows($qry) > 0) {
session_regenerate_id();
while ($data = mysql_fetch_array($qry)) {
$_SESSION['user_id'] = $data['user_id'];
$_SESSION['user_group'] = $data['user_group'];
$_SESSION['user'] = $data['user'];
$_SESSION['user_name'] = $data['user_name'];
// Debug
echo $_SESSION['user_id'];
echo $_SESSION['user_group'];
echo $_SESSION['user'];
echo $_SESSION['user_name'];
session_start();
}
}
}
login("username", "password");
无论你能看到什么是错的?
大家都提到我有我的session_start();在错误的地方,但回声的打印什么都没有,绝对没有错误的地方。
'session_start()'在回显和设置会话变量之前? – 2013-02-15 12:27:14
总是在页面顶部呼叫'session_start()' – 2013-02-15 12:28:46
为什么要放session_start();在底部,你分配了SESSION变量之后? – Minesh 2013-02-15 12:29:23