2009-08-09 37 views
1

Wie können Sie die Ziel-URL mit dem Namen der Start-URL manipulieren?Um URL zu manipulieren basierend auf kommender URL von PHP

Meine URL ist

www.example.com/index.php?ask_question 

ich die folgende Manipulation in der Ziel-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

Vielen Dank für Ihre Antworten! –

Antwort

1

Ich denke, die Sie ersetzen möchten, dass mit:

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

die nur wahr ist, wenn es in der URL enthalten ist.

1

Sie möglicherweise die $ _SERVER [ 'QUERY_STRING'] Variable überprüfen konnte, ob es enthält ' ask_question '

bearbeiten: Fehler behoben

+2

sollte $ _SERVER ['QUERY_STRING'] sein – Zed

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

Wenn Sie eine print_r() von $ _GET tun würden Sie

Array 
(
    [ask_question] => 
) 

sehen, die diese ask_question zeigt gesetzt ist, aber leer ist, so prüft es falsch.

+0

Ich habe diese 'print_r ($ _ GET ['ask_question']);' in meinem Körper. Es gibt nichts auf allen Seiten zurück, nicht einmal bei 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

Diese Antwort zeigt mir, dass ich eine andere Methode verwenden muss, um die URL der Website zu erhalten, die der Benutzer zuletzt besucht hat. - Ich weiß, dass ich diese Daten in Google Analytics erhalten kann, aber ich bin mir nicht sicher, wie ich es durch PHP bekommen kann. –

+0

Ich öffnete einen neuen Thread basierend auf Ihrer Antwort unter http://stackoverflow.com/questions/1250729/to-get-the-coming-url-of-the-user –

1

Sie können Werte nach dem Fragezeichen abrufen, indem Sie den Super global $_GET verwenden. Für das Beispiel ?ask_question=true.

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

Für Variablen ohne Werte (wie ?hello), $_GET in einer solchen Art und Weise verwenden:

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

Sie eine Menge sehr grundlegende Fragen über PHP gefragt haben und Sie scheinen nicht zu haben begreifen Sie, wie die Sprache funktioniert. Ich empfehle Ihnen, die Dokumentation vor Ihrer nächsten Frage zu lesen.