2009-04-20 4 views
1

Wie kann ich es so machen, dass ich eine Sache am Ende der Adresse machen kann, wo die .php ist und es dann bestimmte Dinge zu tun erzählen. Zum Beispiel zieht eine Seite wie diese auf:Bearbeiten und Erstellen von Dingen mit Adressleiste?

sampardee.com/index.php?page=whatever

Hilfe?

ich sonst noch etwas mit diesem tun könnte?

Antwort

0

Ich bin nicht ganz sicher, was Sie fragen, aber ich denke, Sie zu fragen, wie GET-Anforderungen zu verwenden.

Make GET-Anfragen gegen jede PHP-Seite wie folgt: www.mysite.com/page.php?key1=value1 & key2 = Wert2

nun aus PHP, können Sie Schlüssel1 sehen -> Wert1, Schlüssel2 -> Wert2.

Zugriff auf die GET-Hash aus PHP wie folgt: $ myVal1 = $ _GET [ 'key1'] #resolves auf "Wert1" $ myVal2 = $ _GET [ 'key2'] auf "Wert2" #resolves

Von hier aus spielen Sie mit Ihren GET-Variablen, wie Sie es für richtig halten.

0

Das System der Seite Parameter an eine URL hinzuzufügen, ist bekannt als HTTP GET (im Unterschied zu HTTP POST und einige anderen weniger häufig verwendet wird).

Werfen Sie einen Blick auf diese W3 schools page über GET in PHP und habe ein Spiel über das Abrufen von Parametern und deren Verwendung in Ihrem PHP-Code.

Viel Spaß! Dies wird im Allgemeinen mit dem globalen PHP-Array $ _GET erreicht

+0

Warum wurde das abgelehnt? – Skilldrick

5

. Sie können es als assoziatives Array verwenden, um jede Variable zu erhalten, die Sie in der URL benennen. Zum Beispiel Ihre URL oben:

//this gives the $page variable the value 'whatever' 
$page = $_GET['page']; 

if($page == 'whatever'){ 
//do whatever 
} 
elseif($page == 'somethingelse'){ 
//do something else 
} 

Schauen Sie sich die PHP-Dokumentation für weitere Informationen:

$_GET documentation

und es gibt ein Tutorial hier:

Tutorial using QUERY_STRING and _GET

1

Eine kleine Verbesserung gegenüber Bretts Code:

if (array_key_exists('page', $_GET) === false) 
{ 
    $_GET['page'] = 'defaultPage'; 
} 

$page = $_GET['page']; 

// ... Brett Bender's code here 
1

$ _GET wird normalerweise verwendet, wenn Sie die Informationen mithilfe der URL an eine andere Seite senden.

$ _POST wird normalerweise verwendet, wenn Sie die Informationen aus einem Formular senden.

Wenn Sie Ihren Code jemals schreiben müssen, damit er Informationen akzeptieren kann, die mit beiden Methoden gesendet werden, können Sie $ _REQUEST verwenden. Stellen Sie sicher, dass Sie überprüfen, welche Informationen gesendet werden, insbesondere wenn Sie sie mit einer Datenbank verwenden.

Von Ihrer Frage aus sieht es so aus, dass Sie damit unterschiedliche Inhalte auf der Seite anzeigen?

Vielleicht möchten Sie etwas wie einen Schalter verwenden, um nur bestimmte Seitennamen zu verwenden?

heißt

$ lan = $ _ REQUEST [ 'page'];

wechseln ($ pageName) {
Fall 'home': $ include = 'home.php'; Pause;
Fall 'über': $ include = 'about.php'; Pause;
case default: $ include = 'error.php'; break;
}
enthalten ($ include);

Dies ist ein wirklich vereinfachtes Beispiel, aber es sei denn, die $ Seite Variable entweder zu Hause oder über, wird die Website eine Fehlerseite angezeigt werden soll.

Hoffe es hilft!