Эта страница не перенаправляет должным образом - PullRequest
2 голосов
/ 24 апреля 2011

Я использовал следующий скрипт с about.com: http://php.about.com/od/finishedphp1/ss/php_login_code_2.htm

Проблема в том, что несколько раз выдает мне эту ошибку: страница не перенаправляет должным образом. Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не будет завершен. Код:

<?php

session_start(); 



// Process the POST variables
$username = $_SESSION["user_name"];
//$password = $_POST["password"];


    // Set up the session variables
     $_SESSION["user_name"] = $username;

       $ugh = $_REQUEST['url_name'];

          if($_POST){
           $_SESSION['user_name']=$_POST["user_name"];
          $_SESSION['password']=$_POST["password"];  
           }



              $secret = $info['password'];

            //Checks if there is a login cookie

            if(isset($_COOKIE['ID_my_site']))


             //if there is, it logs you in and directes you to the members page

                { 
           $username = $_COOKIE['ID_my_site']; 

            $pass = $_COOKIE['Key_my_site'];

    $check = mysql_query("SELECT user_name, password 
            FROM users WHERE user_name = '$username' 
            and url_name='$ugh'")or die(mysql_error());

          while($info = mysql_fetch_array( $check )) 



          {

               if (@ $info['password'] != $pass) 
                {

                    }

                  else

                 {

                  header("Location: home.php");



                  }

                     }

                     }


       //if the login form is submitted 

      if (isset($_POST['submit'])) { // if form has been submitted



         // makes sure they filled it in

             if(!$_POST['user_name'] | !$_POST['password']) {

    die('You did not fill in a required field.');

       }

// checks it against the database



if (!get_magic_quotes_gpc()) {

    $_POST['user_name'] = addslashes($_POST['user_name']);


}

$check = mysql_query("SELECT user_name,password 
    FROM users WHERE user_name = '".$_POST['user_name']."' 
    and url_name='".$ugh."'")or die(mysql_error());



         //Gives error if user dosen't exist

          $check2 = mysql_num_rows($check);

         if ($check2 == 0) {

           die('That user does not exist in our database. 
          <a href=add.php>Click Here to Register</a>');

            }

        while($info = mysql_fetch_array( $check ))  

            {

          $_POST['password'] = md5($_POST['password']);
          $_POST['password'] = $_POST['password'];



             //gives error if the password is wrong



           if (@ $_POST['password'] != $info['password']) {

            die('Incorrect password, please try again');


              }

              else 

             { 


          // if login is ok then we add a cookie 

         $_POST['user_name'] = stripslashes($_POST['user_name']); 

     $hour = time() + 3600; 

            setcookie(ID_my_site, $_POST['user_name'], $hour); 

            setcookie(Key_my_site, $_POST['password'], $hour);   



            //then redirect them to the members area 

           header("Location: home.php"); 

            } 

           } 

            } 

          else 

          {  



           // if they are not logged in 

           ?> 

2-й код:

Затем на каждой странице участника я использую следующее, чтобы убедиться, что их логин правильный:

      // Process the POST variables
       $email = $_SESSION["user_name"];


     // Set up the session variables
    $_SESSION["user_name"] = $username;


   if(!isset($_SESSION['user_name'])) { header("Location: log.php");}

Ответы [ 2 ]

2 голосов
/ 13 декабря 2012

Перефразируя Бловски: http://kb.mozillazine.org/The_page_is_not_redirecting_properly

Похоже, что Firefox достиг максимальной глубины рекурсии: он обнаружил бесконечный цикл перенаправлений

1 голос
/ 24 апреля 2011

Как называются файлы в приведенных выше скриптах? Если имя первого скрипта - home.php, то когда пользователь заходит на home.php, он будет перезагружаться, если пароль неверный, поэтому Firefox вернет это сообщение.

В качестве альтернативы, у вас есть что-то в вашем .htaccess, которое его вызывает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...