2009-08-09 1 views
1

Как вы можете манипулировать целевым URL по имени исходного URL-адреса?Чтобы манипулировать URL-адресом на основе следующего URL-адреса PHP

Мой URL является

www.example.com/index.php?ask_question 

Я делаю следующие манипуляции в URL назначения

if ($_GET['ask_question']) {       
      // Problem HERE, since if -clause is always false 
     if ($login_cookie_original == $login_cookie) 
     { 
      include "/codes/handlers/handle_login_status.php"; 
      header("Location: /codes/index.php?ask_question"); 
      die("logged in - send your question now"); 
     } 
    } 
+0

Спасибо за ваши ответы! –

ответ

1

Я думаю, что вы хотите, чтобы заменить это:

if (isset($_GET['ask_question'])) { 

Что будет верно, только если он содержится в URL.

1

вы могли бы проверить переменную $ _SERVER [ 'QUERY_STRING'], чтобы увидеть, если он содержит " ask_question '

редактирование: исправлено опечатка

+2

должен быть $ _SERVER ['QUERY_STRING'] – Zed

4
if (isset($_GET['ask_question'])) {   
    ... 

Если вы сделали print_r() в $ _GET вы увидите

Array 
(
    [ask_question] => 
) 

, который показывает, что ASK_QUESTION установлен, но пуст, поэтому он проверяет ложь.

+0

У меня есть этот 'print_r ($ _ GET ['ask_question']);' в моем теле. Он не возвращает ничего на всех страницах, даже не в http: //localhost/codes/index.php? Ask_question. –

2
$location = "test.php"; 
if(isset($_SERVER['QUERY_STRING'])) 
{ 
    header("Location:".$location . "?" . $_SERVER['QUERY_STRING']); 
} 
else 
{ 
    header("Location:".$location); 
} 
+0

Этот ответ показывает мне, что мне нужно использовать другой метод, чтобы получить URL-адрес сайта, который последний раз посетил. - Я знаю, что могу получить эти данные в Google Analytics, но я не уверен, как я могу получить его с помощью PHP. –

+0

Я открыл новую тему на основе вашего ответа по адресу http://stackoverflow.com/questions/1250729/to-get-the-coming-url-of-the-user –

1

Вы можете получить значения после вопросительного знака, используя $_GET супер глобальный. Для примера ?ask_question=true.

//is ask_question true? 
if($_GET['ask_question'] == 'true') { 
    echo 'ask_question is true'; 
} else { 
    echo 'ask_question is not true'; 
} 

Для переменных без значений (например, ?hello), используйте $_GET таким образом:

if(isset($_GET['hello'])) { 
    echo 'hello is there'; 
} else { 
    echo 'hello is not there'; 
} 

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

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