:: Anbieterverzeichnis :: Globale Branchen
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
|
Cookies in PHP: Seite 2 |
|
SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
Mit gpc ist also die Reihenfolge GET->POST->Cookie gemeint. Um solche Konflikte zu vermeiden, sollten Sie Cookies konsequent nach einem bestimmten Schema benennen, z. B. cook_xxxxx oder co_xxxx. Dann können Namenskonflikte erst gar nicht entstehen.
Sollte diese Methode keine ausreichende Flexibilität bieten, können Sie die Cookies auch direkt aus der globalen Servervariablen $_COOKIE ($HTTP_COOKIE_VARS) auslesen. Im folgenden Beispiel wird die globale Servervariable verwendet, um sämtliche Cookies auszugeben:
<?php
foreach ($_COOKIE as $key=>$element) {
echo "$key: $element<br>";
}
?>
Ausgabe
cook_first_one: Ich bin dein Cookie!
Cookies mit mehreren Variablen
In der Praxis werden im Attribut value eines Cookies in der Regel die Inhalte mehrerer Variablen untergebracht. Hierzu sind einige Techniken erforderlich, bei denen die bereits beschriebenen Arrayfunktionen von PHP eingesetzt werden können.
Um die Inhalte von mehreren Variablen einem Cookie zu übergeben, kann wie folgt vorgegangen werden. Zunächst werden die Variablen mit der Funktion array() an ein Array übergeben.
Anschließend wird dieses Array mit der Funktion implode() in eine Zeichenfolge konvertiert. Diese Zeichenfolge wird dann dem Attribut value des Cookies als Wert zugewiesen.
Beispiel
<?php
// Prüfen – Cookie vorhanden?
if (isset($_COOKIE['cook_besucher'])) {
// Cookie Daten extrahieren
$cook_daten = explode("&",$_COOKIE['cook_besucher']);
// Extrahierte Cookie Daten ausgeben und an dynamische
// Variablen übergeben.
foreach ($cook_daten as $key=>$element) {
echo "$key: $element<br>";
${"co_$key"} = $element;
}
// Formatierte Ausgabe
echo "
<html>
<head>
<title>Personalisierte Website</title>
</head>
<body>
<p><font color=$co_2>Herzliche Willkommen $co_0 $co_1<br>
Ihre Lieblingsfarbe ist: $co_2</font>
</body>
</html>";
} else {
// Formular aufrufen
eingabe_form();
}
// Eingabeformular + Cookie-Generierung
function eingabe_form() {
if (!$_POST['Submit']) {
echo "
<html>
<head>
<title>Personalisierte Website</title>
</head>
<body>
<form method='post' action='$PHP_SELF'>
<p>Vorname:
<input type='text' name='vorname'>
</p>
<p>Nachname:
<input type='text' name='nachname'>
</p>
<p>Hintergrund:
<select name='farbe'>
<option value='#FF0000'>Rot</option>
<option value='#00FF00'>Grün</option>
<option value='#0000FF'>Blau</option>
</select>
</p>
<p>
<input type='submit' name='Submit' value='Sichern'>
</p>
</form>
</body>
</html>";
} else {
$daten = array($_POST["vorname"],$_POST["nachname"],$_POST["farbe"]);
$daten_string = implode("&",$daten);
setcookie("cook_besucher", $daten_string, time()+600);
echo "Cookie wurde gesetzt!";
unset($_POST['Submit']);
}
}
?>
|
|
|
|
|
:: Anbieterverzeichnis ::
Webhosting/Serverlösungen
Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?
Sie sind nur ein paar Klicks davon entfernt!
|