Abschnitt „PHP-Nutzungsleitfaden – Cookies'.

WBOY
Freigeben: 2016-08-08 09:34:03
Original
892 Leute haben es durchsucht

Abschnitt „PHP-Nutzungsleitfaden – Cookies“

In diesem Tutorial lernen wir, wie man mit PHP mit Cookies umgeht. Ich werde versuchen, die Dinge so einfach wie möglich zu halten, um einige praktische Anwendungen von Cookies zu erklären.

Was sind Cookies und was bewirken sie?
Cookies werden vom Webserver generiert und enthalten einige Informationen über den Client. Es ist in vom Server angegebene HTML-Informationen eingebettet und überträgt Informationen zwischen dem Client und dem Server
. Es wird normalerweise für folgende Zwecke verwendet: Personalisierung der Webseiten des Benutzers, Zähler, Speicherung von Informationen über besuchte Websites usw.

Cookies und PHP
Die Verwendung von Cookies in PHP ist recht einfach. Mit der Funktion setcookie kann ein Cookie gesetzt werden. Cookies sind Teil der HTTP-Header, daher muss die Cookie-Funktion gesetzt werden, bevor Inhalte an den Browser gesendet werden. Diese Einschränkung ist dieselbe wie bei der Funktion header(). Jedes vom Client übergebene Cookie wird automatisch in eine PHP-Variable umgewandelt. PHP ruft den Informationsheader ab und analysiert ihn, extrahiert den Cookie-Namen und wandelt ihn in eine Variable um. Wenn Sie also ein Cookie wie setcookie(„mycookie“, „wang“); setzen, generiert PHP automatisch eine Variable namens $mycookie mit dem Wert „wang“.
Sehen wir uns zunächst die Syntax der Setcookie-Funktion an:
setcookie(string CookieName, string CookieValue, int CookieExpireTime, path, domain, int secure); PATH: stellt das Verzeichnis auf dem Webserver dar, standardmäßig ist das Verzeichnis, in dem sich die aufgerufene Seite befindet
DOMAIN: Der Domänenname, den das Cookie verwenden kann. Standardmäßig ist der Domänenname der aufgerufenen Seite. Dieser Domänenname muss zwei „.“ enthalten. Wenn Sie also Ihren Top-Level-Domänennamen angeben, müssen Sie „.mydomain.com“
verwenden SICHER: Wenn auf „1“ gesetzt, bedeutet dies, dass das Cookie nur von Servern gespeichert werden kann, die der Browser des Benutzers als sicher erachtet

Anwendung:
Bei einer Website, für die eine Registrierung erforderlich ist, wird die Identität des Benutzers automatisch identifiziert und Informationen an ihn gesendet. Handelt es sich um einen Fremden, wird er aufgefordert, sich zuerst zu registrieren. Wir erstellen eine kleine Datenbank mit den unten angegebenen Informationen: Vorname, Nachname, E-Mail-Adresse, Besuchszähler
Führen Sie die folgenden Schritte aus, um eine Tabelle zu erstellen:

MySQL> Datenbankbenutzer erstellen; Abfrage OK, 1 Zeile betroffen (0,06 Sek.)

mysql> use user; Datenbank geändert

mysql> Tabelleninformationen erstellen (Vorname varchar(20), Nachname varchar(40),
email varchar(40), count varchar(3)); Abfrage OK, 0 Zeilen betroffen (0,05 Sek.)

Okay, da wir nun eine Tabelle haben, die die Anforderungen erfüllt, können wir eine PHP-Seite erstellen, um Cookies mit der Datenbank zu vergleichen
######################index.php##################### #########
$info = explosion("&", $Example); $FirstName=$info[0]; $LastName=$info[1];
$email=$info[2];
$count=$info[3];
$count ;

$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count; SetCookie ("Example",$CookieString, time() 3600); //Setze ein neues Cookie

echo"
Wang-Beispiel

Hallo $FirstName $LastName, das ist Ihre Besuchsnummer: $count

Ihre E-Mail-Adresse lautet: $email

";

mysql_connect() or die ("PROblem connect to DataBase"); //Update DB
$query = "Infosatz aktualisieren count=$count wobei FirstName='$FirstName' und
LastName='$LastName' und email='$email'";
$result = mysql_db_query("users", $query) or die ("Problems .... ");
} //Vorhandene Cookie-Anweisungen beenden

else { //Anleitung für „Kein Cookie“ beginnen
echo "
Rafi's Cookie-Beispiel Klicken Sie hier für die Site-Registrierung ";
} //End No Cookie-Anweisungen
?>
Hinweis: Wenn Sie einen Remote-MySQL-Server oder Unix-Server verwenden, sollten Sie die folgende Anweisung
verwenden mysql_connect („Server“, „Benutzername“, „Passwort“) oder die („Problem beim Herstellen einer Verbindung zur Datenbank“);
Wir möchten prüfen, ob ein Cookie mit dem angegebenen Namen im HTML-Header gesendet wird. Denken Sie daran, dass PHP erkannte Cookies in entsprechende Variablen umwandeln kann, sodass wir eine Variable mit dem Namen „Beispiel“ überprüfen können:
... 
} else {
... 
}
Wenn dieses Cookie vorhanden ist, erhöhen wir den Zähler um eins und drucken die Benutzerinformationen aus. Wenn dieses Cookie nicht vorhanden ist, empfehlen wir, dass sich der Benutzer zuerst registriert
Wenn das Cookie vorhanden ist, führen wir die folgenden Schritte aus:
$info = explosion("&", $Example); //den String in Variablen aufteilen
$FirstName=$info[0]; $LastName=$info[1];
$email=$info[2];
$count=$info[3];
$count ;

$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count; SetCookie ("Example",$CookieString, time() 3600); //ein neues Cookie setzen

echo"
Wang-Beispiel

Hallo $FirstName $LastName, das ist Ihre Besuchsnummer: $count

Ihre E-Mail-Adresse lautet: $email

";

mysql_connect() or die („Problem beim Herstellen einer Verbindung zur Datenbank“); //Datenbank aktualisieren
$query = "Infosatz aktualisieren count=$count wobei FirstName='$FirstName' und
LastName='$LastName' und email='$email'";
$result = mysql_db_query("users", $query) or die ("Problems .... ");
} //Vorhandene Cookie-Anweisungen beenden
Das obige Programm besteht aus drei Hauptteilen: Erhalten Sie zunächst den Cookie-Wert, teilen Sie ihn mit der Explosionsfunktion in verschiedene Variablen auf, erhöhen Sie den Zähler und setzen Sie ein neues Cookie. Verwenden Sie dann HTML-Anweisungen, um Benutzerinformationen auszugeben. Abschließend wird die Datenbank mit dem neuen Zählerwert aktualisiert.
Wenn dieses Cookie nicht existiert, wird das folgende Programm ausgeführt:

else { //Anleitung für „Kein Cookie“ beginnen
echo "
Rafi's Cookie-Beispiel Klicken Sie hier für die Site-Registrierung ";
} //End No Cookie-Anweisungen

Die folgende reg.php listet lediglich den Link zur Registrierungsseite
auf ############################reg.php################# ###########

 
Registrierung der Site

Registrieren der Site


Benutzername: maxlength=20>
Nachname: maxlength=40>
E-Mail-Adresse: maxlength=40>


Nachdem alle Informationen übermittelt wurden, rufen Sie eine andere PHP-Datei auf, um die Informationen zu analysieren
############################reg1.php################# # ##################
if ($FirstName and $LastName and $email)
{
mysql_connect() oder sterben („Problem beim Herstellen einer Verbindung zur Datenbank“); $query="select * from info where FirstName='$FirstName' and
LastName='$LastName' und email='$email'";
$result = mysql_db_query("users", $query);
$r=mysql_fetch_array($result);
$count=$r["count"];
if (isset($count)) {  
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;  
SetCookie ("Example",$CookieString, time() 3600);  
echo "

user $FirstName $LastName existiert bereits. Verwenden des vorhandenen  
info.

";  
echo "

Zurück zur Hauptseite";  
} else {  
$count = '1';  
$query = "In Infowerte einfügen  
('$FirstName','$LastName','$email','$count')";  
$result = mysql_db_query("users", $query);  
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;  
SetCookie ("Example",$CookieString, time() 3600);  
echo „Vielen Dank für Ihre Registrierung.
“;  
}  

} else { echo „Es fehlen leider einige Informationen. Bitte gehen Sie zurück und fügen Sie alle hinzu  
die Informationen"; }  
?>  
首先检查所有的信息是否按要求填写,如果没有,返回重新输入
if ($FirstName and $LastName and $email)  
{  
...  
} else { echo „Es fehlen leider einige Informationen. Bitte gehen Sie zurück und fügen Sie alle hinzu  
die Informationen"; }  
?>
如果所有信息填好,将执行下面:
  
mysql_connect() oder sterben („Problem beim Herstellen einer Verbindung zur Datenbank“);  
$query="select * from info where FirstName='$FirstName' and  
LastName='$LastName' und email='$email'";  
$result = mysql_db_query("users", $query);  

$r=mysql_fetch_array($result);  
$count=$r["count"];  

if (isset($count)) {  
$count ;  
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;  
SetCookie ("Example",$CookieString, time() 3600);  
echo "

user $FirstName $LastName existiert bereits. Unter Verwendung des vorhandenen  
info.

";  
echo "

Zurück zur Hauptseite";  
} else {  
$count = '1'; //neuer Besucher – Zähler auf 1 setzen.  
$query = "In Infowerte einfügen  
('$FirstName','$LastName','$email','$count')";  
$result = mysql_db_query("users", $query);  
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;  
SetCookie ("Example",$CookieString, time() 3600);  
echo „Vielen Dank für Ihre Registrierung.
“;  
这段程序做了几件工作:它检查数据库是否有这样一个用户(如果没有, 也就是说, 这个Cookie已被删除), 如果有, 它指定旧的信息, 并用当前的信息建一新的Cookie如果同一用户没有数据库登录, 新建一数据库登录, 并建一新的Cookie.
首先,我们从数据库中取回用户登录详细资料
mysql_connect() oder sterben („Problem beim Herstellen einer Verbindung zur Datenbank“);  
$query="select * from info where FirstName='$FirstName' and  
LastName='$LastName' und email='$email'";  
$result = mysql_db_query("users", $query);  
$r=mysql_fetch_array($result);  
$count=$r["count"];

现在检查是否有一计数器为这用户,利用isset()函数
  
if (isset($count)) {  
...  
} else {  
...  
}  
计数器增加并新建一Cookie
$count ; //Zähler erhöhen  
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;  
SetCookie ("Example",$CookieString, time() 3600);  
echo "

user $FirstName $LastName existiert bereits. Die vorhandenen Informationen werden verwendet.

";  
echo "

Zurück zur Hauptseite";
如果没有一用户计数器, 在mysql中加一记录, 并设一cookie
注意:在任何时候,setcookie放在输送任何资料到浏览器之前,否则得到错误信息

以上就介绍了PHP使用指南-cookies部分,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage