2012-04-09 3 views
1

Я пытаюсь отправить данные на страницу входа в систему, используя хеш имени пользователя и пароля, сгенерированный на странице регистрации. У меня это работало, но для меня жизнь не может понять, почему она остановилась.PHP пересылка данных на страницу входа после регистрации

В основном код будет перенаправлять пользователя на автоматическую регистрацию, если регистрация прошла успешно. Однако код также используется в панели администратора, поэтому пользователи могут быть добавлены и возвращены на экран управления пользователями.

if (isset($_GET['redirect'])){ 
     if (isset($_GET['login'])){ 
      if($_GET['login'] == "true"){ 
        // So we can log users automatically after registering 
       $post = http_build_query(
        array(
         "username" => $username, 
         "password" => $password 
        ) 
       ); 
       $context = stream_context_create(
        array(
         "http"=>array(
          "method" => "POST", 
          "header" => "Content-Type: application/x-www-form-urlencoded\r\n", 
          "content" => $post 
         ) 
        ) 
       ); 
       // testing shows that the code gets this far... 
       // but does not send the following... instead it skips this 


       $page = file_get_contents('http://example.com/login.php?redirect='.$_GET['redirect'], false, $context); 
      } 
     } 
     header('Location: ' . $_GET['redirect']); 

     echo('<p><a href="'.$_GET['redirect'] . '">Back to where you were...</a></p>'); 

    } 

ответ

0

Я думаю, что вы должны предоставить только пароль, а не его хэш-код.

Или (если на данный момент простой пароль недоступен), вы можете расширить скрипт входа. Он должен поддерживать какое-то другое условие для регистрации пользовательского состояния, где не требуется простой пароль - например, он может принимать хеш-пароль. Или введите код, который помечает пользователя как вход в отдельное доступное место и выполняет его после регистрации, не переходя на исходную страницу входа.

+0

Благодарим за использование пароля вместо хэша. Это абсолютно верно, мой сценарий входа в систему принимает пароль, а не хэш. Однако файл_get_contents все еще пропускается. Я попытаюсь посмотреть, смогу ли я сделать вход пользователя на страницу регистрации ... Надеюсь, это сработает. – Panda

+0

Я только что создал пользовательский сеанс вместо того, чтобы пытаться отправить данные на страницу входа. Спасибо. – Panda

Смежные вопросы