2014-02-21 4 views
0

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

print $_SERVER['HTTP_REFERER']; 
$previousPage = $_SERVER['HTTP_REFERER']; 

if ($errors == "") { 

    if (do_login($form_email_address,$form_password)) { 
     // success! 
      if ($previousPage == "http://hiddensite/path/video/"){ 
       redirect($previousPage); 
      }else{ 
       redirect("/index.php?page=home&loggedin=1"); 
      }    
    } else { 
     $errors = "Could not login. Please check your e-mail address and/or password and try again."; 
    } 

и если ваш интересно, что перенаправление() есть, его как раз моя функция:

function redirect($url) { 

    // this function redirects from one page to another 
    ob_clean(); 

    header("Location: $url"); 
    exit(); 

} 
+0

Какая ошибка вы получаете? Вы проверяете реферер без последней косой черты? – T0xicCode

+0

«не работает» каким образом? Переадресовывает ли вас неправильную страницу? Разве это не перенаправление вообще? –

+0

перенаправляет меня обратно на домашнюю страницу – user3332590

ответ

0

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

На предыдущей странице:

session_start(); 
$_SESSION['foo'] = "bar"; 

А на странице входа -

if(isset($_SESSION['foo'])) {...} 

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

+0

не работает .. перенаправлено на главную страницу – user3332590

0

Кажется, что у вас отсутствует какая-либо информация, отвечая на ваш вопрос. Код, который вы предоставили, кажется прекрасным, но для того, чтобы мы могли определить проблему, нам нужно было бы увидеть функцию do_login, как вы ранее размещали в комментариях (которая теперь убирается). Поскольку вы всегда перенаправляетесь на домашнюю страницу, это означает, что функция do_login всегда возвращает false или что-то еще, кроме true.

Перед тем, как отменить комментарий, я заметил, что вы также использовали функцию sqlslashes() несколько раз. Это функция, которую вы создали? Не забудьте включить это в свой вопрос.

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