2009-08-09 4 views
1

Comment pouvez-vous manipuler l'URL de destination par le nom de l'URL de départ?Pour manipuler l'URL en fonction de l'URL à venir par PHP

Mon URL est

www.example.com/index.php?ask_question 

-je faire la manipulation suivante dans l'URL de destination

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

Merci pour vos réponses! –

Répondre

1

Je pense que vous voulez remplacer par:

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

Ce qui ne sera vrai que si elle est contenue dans l'URL.

1

vous pourriez peut-être vérifier la variable $ _SERVER [ 'QUERY_STRING'] pour voir si elle contient ' ask_question '

modifier: correction de la typo

+2

devrait être $ _SERVER ['QUERY_STRING'] – Zed

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

Si vous avez fait un print_r() de $ _GET vous verriez

Array 
(
    [ask_question] => 
) 

qui montre que ask_question est réglé, mais il est vide, il teste faux.

+0

J'ai ce 'print_r ($ _ GET ['ask_question']);' dans mon corps. Il ne renvoie rien dans toutes les pages, pas même à 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

Cette réponse me montre que j'ai besoin d'utiliser une méthode différente pour obtenir l'URL du site que l'utilisateur a visité la dernière fois. - Je sais que je peux obtenir ces données dans Google Analytics, mais je ne sais pas comment je peux l'obtenir par PHP. –

+0

J'ai ouvert un nouveau fil basé sur votre réponse à http://stackoverflow.com/questions/1250729/to-get-the-coming-url-of-the-user –

1

Vous pouvez récupérer des valeurs après le point d'interrogation en utilisant le super global $_GET. Pour l'exemple ?ask_question=true.

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

Pour les variables sans valeurs (comme ?hello), utilisez $_GET de telle manière:

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

Vous avez posé beaucoup de questions fondamentales sur PHP et vous ne semblez pas avoir saisir comment fonctionne la langue. Je suggère de donner une bonne lecture à la documentation avant votre prochaine question.

Questions connexes