Der Inhalt dieses Artikels befasst sich mit dem grundlegenden Tutorial von PHP und MySQL (3). Ich hoffe, dass er für Freunde hilfreich ist.
Verwenden Sie Cookies, um Benutzer zu verfolgen und zu identifizieren
Werfen wir einen Blick auf die im Browser gespeicherten Inhalte. 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 ist 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.
Nehmen wir ein Beispiel für die Cookie-Anwendung: Wenn ich mich mit Amazon.com verbinde, sendet der Browser den Inhalt seiner zuvor gesetzten Cookies an Amazon, bevor er die erste Seite akzeptiert. Anschließend überprüft Amazon.com den gesendeten Inhalt, um festzustellen, ob in der Datenbank relevante Informationen vorhanden sind. Nach dem Abgleich erstellt Amazon.com eine angepasste Seite für mich und sendet sie weiter.
Cookies einen Wert zuweisen
Cookies muss ein Wert zugewiesen werden, bevor der Server Inhalte an den Browser des Clients sendet. Dazu müssen die Cookie-Einstellungen im Tag <
Der Name des Cookies ist eine Zeichenfolge, 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.
< ?php setcookie("CookieID", $USERID); ?> < HTML> < BODY> < /BODY> < /HTML>
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.
Der Domänenname des Servers wird auch zum Zuordnen von Cookies 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.
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 im Array HTTP_COOKIE_VARS gespeichert. Sie können auch über dieses Array auf den angegebenen Cookie-Wert zugreifen Cookie:
Erinnern Sie sich an jeden Benutzer
Sehen Sie sich die Datei „submitform.php3“ oben noch einmal an. Ihre Funktion besteht darin, den Namen des Kunden zu senden zur Datenbank hinzugefügt, jetzt möchte ich etwas hinzufü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.
PRint $HTTP_COOKIE_VARS[CookieID];
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 „NOT NULL“, um zu verhindern, dass der Wert dieses Felds NULL ist Feld, damit die Suche schneller wird. „AUTO_INCREMENT“ definiert es als automatisch inkrementiertes Feld.
Nachdem Sie den Namen des Benutzers in die Datenbank eingegeben haben, 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:
< ?php mysql_connect (localhost, username, passWord); mysql_select_db (dbname); mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') "); setcookie("CookieID", mysql_insert_id(), time()+94608000, "/"); /* 三年后 cookie 才会失效 */ ?>
PHP 函数 mysql_insert_id() 返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值。这样,只要你不清除掉浏览器的 Cookies ,网站就会永远“记住”你了
读取 cookie
我们来写一个像 Amazon.com 所作的那样的脚本。首先, PHP 脚本会先检查客户浏览器是否发送了 cookie 过来,如果是那样的话,用户的姓名就会被显示出来。如果没找到 cookie 的话,就显示一个表单,让客户登记他们的姓名,然后把他添加到数据库中,并在客户浏览其中设置好 cookie 。
首先,先来显示 cookie 的内容:
< ?php print $CookieID; ?>
然后,就可以把名字显示出来了:
< ?php mysql_connect (localhost, username, password); mysql_select_db (dbname); $selectresult = mysql_query ("SELECT * FROM tablename WHERE USERID = '$CookieID' "); $row = mysql_fetch_array($selectresult); echo " 欢迎你的光临 ", $row[first_name], "!"; ?>
就是这样的了。我在其中没有作判断,交给你自己来完成好了
以上就是PHP 和 MySQL 基础教程(三)的内容,更多相关内容请关注PHP中文网(www.php.cn)!
相关推荐:
mysql手册教程:http://www.php.cn/course/37.html
mysql视频教程:http://www.php.cn/course/list/51.html