Лучший ответ
-
0 0
Play-Boy (38) 7 (26961)52156 9 лет
Гугли область видимости переменных . Если ты хранишь $loggedin где-то вне функции, то это надо задекларировать. По идее для этого надо использовать сессии
А еще у тебя код не защищен от sql-инъекций
Ответы
-
0 0
hawketeer 6 (16387)51780 9 лет
$loggedin значит не появляется. вот оно и ходит по кругу.
стремный код какойто -
1 1
lame 6 (13580)3725 9 лет
function autoLogin($hash){
$res = mysql_query("SELECT * FROM `users` WHERE `login_hash` = '". $hash ."'");
$row = mysql_fetch_assoc($res);
if(!$loggedin){ // где объявляется эта переменная?
$check = mysql_num_rows($res);
if($check < 1){
err_msg('unexpected error #1');
}
else{
session_start();
$_SESSION['d_user'] = $row['login'];
if(!empty($_SERVER['HTTP_REFERER'])){
header('Location: '.$_SERVER['HTTP_REFERER']);
}
else{
header('Location: index.php');
}
}
}else{// нафиг тебе это вообще? если функция ничего не должна возвращать то убери это, в другом случае делай return null;
null;
}
}
редирект вызывает header('Location: index.php'); , так как эта функция у тебя вызывается в index.php при отправке headera на его, функция вызывается повторно и так до бесконечности