Eu peguei um pedaço de código de um login e script de registro quando eu executar o index.php do apache dá este erro na guia de endereço
http://localhost/johnlogin/?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login?msg=login
e este erro abaixo na página do navegador
A página não está redirecionando corretamente
O Firefox detectou que o servidor está redirecionando a solicitação para esse endereço de uma maneira que nunca será concluída.
Às vezes, esse problema pode ser causado pela desativação ou pela recusa em aceitar cookies.
Eu desenterrar o código, mas não posso resolver o problema aqui é o código de index.php
require_once("load.php");
$logged = $j->checkLogin();
if ( $logged == false ) {
//Build our redirect
$url = "http" . ((!empty($_SERVER["HTTPS"])) ? "s" : "") . "://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$redirect = str_replace("index.php", "login.php", $url);
//Redirect to the home page
header("Location: $redirect?msg=login");
exit;
} else {
//Grab our authorization cookie array
$cookie = $_COOKIE["joombologauth"];
//Set our user and authID variables
$user = $cookie["user"];
$authID = $cookie["authID"];
//Query the database for the selected user
$table = "j_users";
$sql = "SELECT * FROM $table WHERE user_login = "" . $user . """;
$results = $jdb->select($sql);
//Kill the script if the submitted username doesn"t exit
if (!$results) {
die("Sorry, that username does not exist!");
}
//Fetch our results into an associative array
$results = mysql_fetch_assoc( $results );
?>
o load.php basicamente consiste em uma instrução require_once que carrega o db e um arquivo de classe aqui é o código da classe na qual o id foi chamado
$logged = $j->checkLogin();
--------- o código class.php -------
function checkLogin() {
global $jdb;
//Grab our authorization cookie array
$cookie = $_COOKIE["joombologauth"];
//Set our user and authID variables
$user = $cookie["user"];
$authID = $cookie["authID"];
/*
* If the cookie values are empty, we redirect to login right away;
* otherwise, we run the login check.
*/
if ( !empty ( $cookie ) ) {
//Query the database for the selected user
$table = "login";
$sql = "SELECT * FROM $table WHERE uName = "" . $user . """;
$results = $jdb->select($sql);
//Kill the script if the submitted username doesn"t exit
if (!$results) {
die("Sorry, that username does not exist!");
}
//Fetch our results into an associative array
$results = mysql_fetch_assoc( $results );
//The registration date of the stored matching user
$storeg = $results["user_registered"];
//The hashed password of the stored matching user
$stopass = $results["user_pass"];
//Rehash password to see if it matches the value stored in the cookie
$authnonce = md5("cookie-" . $user . $storeg . AUTH_SALT);
$stopass = $jdb->hash_password($stopass, $authnonce);
if ( $stopass == $authID ) {
$results = true;
} else {
$results = false;
}
} else {
//Build our redirect
$url = "http" . ((!empty($_SERVER["HTTPS"])) ? "s" : "") . "://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$redirect = str_replace("index.php", "login.php", $url);
//Redirect to the home page
header("Location: $redirect?msg=login");
exit;
}
return $results;
}
}
todo o bug está acontecendo aqui
Saudações
Respostas:
0 para resposta № 1O problema é que seu script está recursivamente redirecionando para si mesmo.
O problema é quando você tenta acessar a página pela primeira vez, o script determina que você não está logado: if ( $logged == false )
e redireciona você para o login.php com params, que estão redirecionando ainda mais para a mesma página, portanto, seu script continua em loop. Quando o seu servidor web (apache) faz loops por um determinado período de tempo, ele sinaliza a solicitação para não poder atender, daí o erro.