Heim >Backend-Entwicklung >PHP-Tutorial >Grundlegendes PHP- und MySQL-Tutorial (3)

Grundlegendes PHP- und MySQL-Tutorial (3)

黄舟
黄舟Original
2016-12-19 09:59:271376Durchsuche

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.

Der Wert von Cookie ist normalerweise eine String-Variable, zum Beispiel: $USERID. Sie können ihm auch ein ?? zuweisen, um die Einstellung des Werts zu überspringen.
< ?php 
setcookie("CookieID", $USERID); 
?> 
< HTML> 
< BODY> 
< /BODY> 
< /HTML>
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-Mon-JJ HH:MM:SS, wie zum Beispiel: „24-Nov-99 08: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.
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.

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 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];
MySQL kann so eingestellt 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 Zeile SQL-Anweisungen können Sie ein solches Feld ganz einfach zur Datentabelle hinzufügen. Ich nenne es USERID:


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 (&#39;$first_name&#39;, &#39;$last_name&#39;) 
"); 
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 = &#39;$CookieID&#39; 
"); 
$row = mysql_fetch_array($selectresult); 
echo " 欢迎你的光临 ", $row[first_name], "!"; 
?>

就是这样的了。我在其中没有作判断,交给你自己来完成好了 

以上就是PHP 和 MySQL 基础教程(三)的内容,更多相关内容请关注PHP中文网(www.php.cn)! 

相关推荐: 

 关于mysql 基础知识的总结 

 PHP 和 MySQL 基础教程(一) 

 PHP 和 MySQL 基础教程(二) 

 PHP 和 MySQL 基础教程(三) 

 PHP 和 MySQL 基础教程(四)

mysql手册教程:http://www.php.cn/course/37.html

mysql视频教程:http://www.php.cn/course/list/51.html

Stellungnahme:
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