Heim > Backend-Entwicklung > PHP-Tutorial > Verwenden Sie Cookies in PHP, um Benutzer zu verfolgen und zu identifizieren

Verwenden Sie Cookies in PHP, um Benutzer zu verfolgen und zu identifizieren

WBOY
Freigeben: 2016-08-08 09:33:41
Original
900 Leute haben es durchsucht

Schauen wir uns an, was im Browser gespeichert ist. Wenn Sie IE5 verwenden, gibt es im Windows-Verzeichnis viele Textdateien. Die Dateinamen ähneln wudong@15seconds.txt. Dies sind die Cookies, die der Browser zum Speichern von Werten verwendet . . In früheren IE-Versionen war der Inhalt von Cookies sichtbar, jetzt wurde der Inhalt jedoch verschlüsselt. Bevor der Browser eine Webseite erhält, prüft er zunächst, ob der Domänenname der Seite im Cookie vorhanden ist. Wenn eine Übereinstimmung vorliegt, sendet der Browser zunächst das passende Cookie an den Server und akzeptiert und verarbeitet dann das gesendete Cookie von der Serverseite.

Lassen Sie uns ein Beispiel für die Anwendung von Cookies geben: Wenn ich mich mit Amazon.com verbinde, sendet der Browser den Inhalt der zuvor gesetzten Cookies an Amazon, bevor er die erste Seite akzeptiert. Anschließend prüft Amazon.com den übermittelten Inhalt, ob relevante Informationen in der Datenbank vorhanden sind. Nach dem Abgleich erstellt es eine für mich angepasste Seite und übermittelt diese.
Weisen Sie Cookies Werte zu

Cookies muss ein Wert zugewiesen werden, bevor der Server Inhalte an den Browser des Clients sendet. Dazu müssen die Cookie-Einstellungen innerhalb des -Tags platziert werden:
​setcookie("CookieID",$USERID);
​?> Die Setcookie-Funktion verfügt über insgesamt sechs durch Kommas getrennte Parameter:

Der Name des Cookies ist ein String, zum Beispiel: „CookieID“. Doppelpunkte, Kommas und Leerzeichen sind dazwischen nicht zulässig. Dieser Parameter ist erforderlich, während alle anderen Parameter optional sind. Wird nur dieser Parameter angegeben, wird das Cookie gelöscht.

Der Wert des Cookies ist normalerweise eine String-Variable, beispielsweise $USERID. Sie können ihm auch ein ?? zuweisen, um das Festlegen des Werts zu überspringen.

Die Zeit, zu der das Cookie abläuft. Wenn es weggelassen wird (oder ihm der Wert Null zugewiesen wird), läuft das Cookie am Ende der Sitzung ab. Dieser Parameter kann eine absolute Zeit sein, dargestellt durch TT-Mo-JJHH:MM:SS, zum Beispiel: „24-Nov-9908:26:00“. Häufiger wird die Einstellung einer relativen Zeit verwendet. Dies wird durch die Funktion time() oder die Funktion mktime erreicht. Beispielsweise führt time() 3600 dazu, dass das Cookie nach einer Stunde abläuft.

Ein Pfad, der zum Abgleichen von Cookies verwendet wird. Wenn auf einem Server mehrere Cookie-Einstellungen mit demselben Namen vorhanden sind, wird dieser Parameter verwendet, um Verwirrung zu vermeiden. Die Verwendung des Pfads „/“ hat den gleichen Effekt wie das Weglassen dieses Parameters. Es ist zu beachten, dass die Cookie-Definition von Netscape den Domänennamen vor den Pfad setzt, während PHP das Gegenteil tut.

Zur Zuordnung von Cookies wird auch der Domänenname des Servers verwendet. Es ist zu beachten, dass vor dem Domänennamen des Servers ein Punkt (.) stehen muss. Zum Beispiel: „.friendshipcenter.com“. Denn solange es nicht mehr als zwei Punkte gibt, kann dieser Parameter nicht akzeptiert werden.

Die Sicherheitsstufe des Cookies ist eine ganze Zahl. 1 bedeutet, dass dieses Cookie nur über „sichere“ Netzwerke gesendet werden kann. 0 oder weggelassen bedeutet, dass jede Art von Netzwerk akzeptabel ist.

Cookies und Variablen

Wenn das PHP-Skript ein Cookie aus dem Browser des Clients extrahiert, wandelt es es automatisch in eine Variable um. Beispiel: Ein Cookie mit dem Namen CookieID wird zur Variablen $CookieID
Der Inhalt von Cookies wird Berichten zufolge im Array HTTP_COOKIE_VARS gespeichert. Sie können auch über dieses Array und den Namen des Cookies auf den angegebenen Cookie-Wert zugreifen:

PRint$HTTP_COOKIE_VARS[CookieID];

​Denken Sie an jeden Benutzer

Schauen wir uns noch einmal die Datei „submitform.php3“ an. Ihre Funktion besteht darin, den Namen des Kunden zur Datenbank hinzuzufügen. Ich möchte jedem Benutzer eine eindeutige Benutzer-ID zuweisen und diese ID dann in Cookies einfügen, damit ich jedes Mal, wenn ein Benutzer meine Website besucht, anhand des Cookies und der darin enthaltenen Benutzer-ID erkennen kann, wer er ist.

MySQL kann so eingerichtet werden, dass jedem neuen Datensatz automatisch eine Nummer zugewiesen wird. Diese Nummer beginnt bei 1 und erhöht sich danach automatisch um 1. Mit einer SQL-Anweisung können Sie ein solches Feld ganz einfach zur Datentabelle hinzufügen. Ich nenne es USERID:
ALTERTABLEdbname
 ADDCOLUMN
USERIDINT(11)NOTNULL
PRIMARYKEYAUTO_INCREMENT;

Für dieses Feld haben wir einige spezielle Einstellungen vorgenommen. Definieren Sie zunächst seinen Typ als 11-Bit-Ganzzahl über „INT(11)“. Verwenden Sie dann das Schlüsselwort „NOTNULL“, um zu verhindern, dass der Wert dieses Felds NULL ist. Damit es schneller durchsucht werden kann, definiert „AUTO_INCREMENT“ es als automatisch inkrementiertes Feld.

Sobald der Name des Benutzers in die Datenbank eingegeben wurde, ist es an der Zeit, ein Cookie in seinem Browser zu setzen. Was derzeit verwendet wird, ist der Wert des Feldes USERID, über das wir gerade gesprochen haben:

mysql_connect(localhost,username,passWord);
​mysql_select_db(dbname);mysql_query("INSERTINTOtablename(first_name,last_name)
VALUES('$first_name','$last_name')
");
setcookie("CookieID",
​mysql_insert_id(),
time() 94608000,
"/");/*Das Cookie läuft nach drei Jahren ab*/
​?>
Die PHP-Funktion mysql_insert_id() gibt den Wert des durch AUTO_INCREMENT definierten Feldes zurück, nachdem die letzte INSERT-Abfrage ausgeführt wurde. Solange Sie die Cookies Ihres Browsers nicht löschen, wird sich die Website auf diese Weise für immer an Sie „erinnern“

Cookies lesen

Lassen Sie uns ein Skript schreiben, wie es Amazon.com tut. Zunächst prüft das PHP-Skript, ob der Browser des Clients ein Cookie gesendet hat. Wenn ja, wird der Name des Benutzers angezeigt. Wenn das Cookie nicht gefunden wird, wird ein Formular angezeigt, in dem der Kunde aufgefordert wird, seinen Namen zu registrieren. Anschließend wird es zur Datenbank hinzugefügt und das Cookie wird gesetzt, während der Kunde surft.

Lassen Sie uns zunächst den Inhalt des Cookies anzeigen:
​print$CookieID;
​?> Anschließend kann der Name angezeigt werden:
 mysql_connect(localhost,username,password);
​mysql_select_db(dbname); ​$selectresult=mysql_query("SELECT*FROMtablename
​WHEREUSERID='$CookieID'
");
​$row=mysql_fetch_array($selectresult);
echo „Willkommen“,$row[first_name],“
​?> Das ist es. Ich habe kein Urteil darüber, überlasse es Ihnen, es zu vervollständigen



Das Obige hat die Verwendung von Cookies in PHP eingeführt, um Benutzer zu verfolgen und zu identifizieren, einschließlich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.


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