Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Programmierung mit PHP  Teil von  Daten via URL
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Arbeiten mit dem $QUERY_STRING




Ein anderes Problem tritt auf, wenn Sie Formularfelder und Variablen in der URL mit denselben Namen verwenden. In solchen Fällen wird vorrangig die URL dekodiert. Sie können dennoch auf den Inhalt der Variablen zugreifen.

In diesem Fall steht Ihnen die globale Variable $QUERY_STRING bzw. $_SERVER[QUERY_STRING] zur Verfügung, die den gesamten Teil nach dem ?-Zeichen enthält. Hier müssen Sie sich zwar selbst um die Analyse der einzelnen Elemente kümmern, umgehen damit jedoch die automatische Auswertung des PHP-Interpreters. Da Ihnen der Zugriff auf die Formularvariable verwehrt ist, bleibt auch hier die Nutzung der Servervariablen. Das folgende Beispiel zeigt die Anwendung:

<html>
<head>
<title>Formular</title>
</head>
<body>
<?php
echo "Daten aus gesendet: $_POST[gesendet]<p>";
echo "Daten aus $QUERY_STRING: $_SERVER[QUERY_STRING]<P>";
if (is_array($_POST)) {
  foreach($_POST as $key=>$element) {
    echo "<b>$key</b>: $element<br>";
  }
}
?>
<form action="<?php echo $PHP_SELF?>?gesendet=ja" method="post">
<input type="hidden" name="gesendet" value="no">
<input type="submit">
</form>
</body>
</html>

Ausgabe
Daten aus gesendet: no

Daten aus $QUERY_STRING: gesendet=ja

gesendet: no

Sie sehen zusätzlich, wie Sie die URL zur Datenübertragung auch innerhalb eines Formulars nutzen können. Interessant ist die Reaktion bei der Anwendung der Übertragungsmethode GET im Formular:

<form action="<?php echo $PHP_SELF?>?gesendet=ja" method="get">
<input type="hidden" name="gesendet" value="no">
<input type="submit">

Ausgabe
Daten aus gesendet: no

Daten aus $QUERY_STRING: gesendet=no

In diesem Fall nehmen die Formularelemente den Platz der Daten in der URL ein, die bereits im action-Attribut angelegten Parameter werden ignoriert. Dieses Verhalten hat nichts mit PHP zu tun, sondern basiert auf HTTP und den Vorschriften zur Verarbeitung von Daten mithilfe der Methoden GET und POST.

Beim Weiterreichen von Daten ist die Anwendung von $QUERY_STRING bzw. $_SERVER[QUERY_STRING] sogar besonders bequem. Wenn Sie auf Cookies verzichten müssen und eine Anwendung erstellen, die aus mehreren Skripts besteht, ist eine »Verfolgung« des Anwenders unerlässlich. Es werden dann meist sogenannte Session-IDs verwendet, welche per Zufallsprinzip aus zufällig erzeugten Nummern und Zeichenfolgen zusammengesetzt sind, die den Anwender immer wieder eindeutig zuordnen.

Hinweis: Zu den Themen Cookies und Sessions erfahren Sie mehr indem Abschnitt 4.3 und 4.4.



 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt