Чтобы манипулировать URL на основе приходящего URL с помощью PHP - PullRequest
1 голос
/ 09 августа 2009

Как вы можете управлять целевым URL-адресом по имени начального URL-адреса?

Мой 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");
        } 
    }

Ответы [ 5 ]

4 голосов
/ 09 августа 2009
if (isset($_GET['ask_question'])) {          
    ...

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

Array
(
    [ask_question] => 
)

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

2 голосов
/ 09 августа 2009
$location = "test.php";
if(isset($_SERVER['QUERY_STRING']))
{
    header("Location:".$location . "?" . $_SERVER['QUERY_STRING']);
}
else
{
    header("Location:".$location);
}
1 голос
/ 09 августа 2009

Вы можете получить значения после знака вопроса, используя суперглобальный $_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, и вы, похоже, не понимаете, как работает язык. Я предлагаю прочитать документацию до вашего следующего вопроса.

1 голос
/ 09 августа 2009

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

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

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

1 голос
/ 09 августа 2009

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

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

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