Sehr oft müssen wir die Aktivitäten der Besucher auf der gesamten Website verfolgen und ihre Identität automatisch oder halbautomatisch identifizieren (d. h. Funktionen wie die Website-Anmeldung, die häufig erwähnt werden). Derzeit verwenden wir häufig Cookies und Sitzungen zu verfolgen und zu beurteilen
1. Einführung und Unterschied zwischen Cookie und Sitzung
In vielen Fällen müssen wir die Aktivitäten von Besuchern auf der gesamten Website verfolgen und ihre Identität automatisch oder halbautomatisch identifizieren. (Das sind Funktionen wie die Website-Anmeldung, über die wir normalerweise sprechen.) Zur Verfolgung und Beurteilung verwenden wir derzeit häufig Cookies und Sitzungen.
Unterschied
Sitzungsinformationen werden auf der Serverseite gespeichert, aber die Sitzungs-ID wird im Client-Cookie gespeichert. Natürlich sind die Sitzungsspeichermethoden von PHP unterschiedlich, sodass sie auch dann nachverfolgt werden können Cookies sind deaktiviert
Cookies bleiben vollständig auf dem Client, wie zum Beispiel: IE Firefox Wenn der Client Cookies deaktiviert, können sie nicht mehr verwendet werden
2 >
Setcookie(String-Name, String-Wert, Int-Ablauf, String-Pfad, String-Domäne, Int-Secure);wobei Name die Cookie-Variablennamen-ID ist. Sie können es verwenden, um Cookie-Variablen in PHP wie gewöhnlich zu referenzieren Variablennamen. value ist der Anfangswert der Cookie-Variablen; „peil“ stellt den relevanten Pfad der Cookie-Variablen dar; „secure“ ist nur gültig, wenn https sicher übertragen wird.
Cookie empfangen und verarbeiten
PHP für Cookie Die Unterstützung für den Empfang und die Verarbeitung ist sehr gut und erfolgt vollständig automatisch. Es entspricht dem Prinzip der FORM-Variablen und ist sehr einfach.
Wenn Sie beispielsweise ein Cookie mit dem Namen „MyCookie“ setzen, analysiert PHP es automatisch aus dem vom WEB-Server empfangenen HTTP-Header und bildet eine Variable wie eine gewöhnliche Variable mit dem Namen „$myCookie“. . Dasselbe gilt auch für Arrays. Eine andere Möglichkeit besteht darin, auf das globale Variable-Array $HTTP_COOKIE_VARS von PHP zu verweisen.
Beispiele sind wie folgt: (vorausgesetzt, diese wurden auf den vorherigen Seiten festgelegt und sind noch gültig)
echo $CookieArray[0];
echo $_COOKIE [" MyCookie"];
echo $HTTP_COOKIE_VARS["MyCookie"];
Cookie löschen
2. SetCookie("Cookie", "value" ,time()-1 / time() );
2. Verschiedene Browser verarbeiten Cookies inkonsistent und es kommt manchmal zu falschen Ergebnissen.
3. Die Einschränkung liegt auf der Clientseite. Die maximale Anzahl von Cookies, die von einem Browser erstellt werden können, beträgt 30, und jedes Cookie darf 4 KB nicht überschreiten. Die Gesamtzahl der Cookies, die von jeder WEB-Site gesetzt werden können, darf 20 nicht überschreiten.
session_start(); $_SESSION[name]=value; Seeeion
echo $_SESSION[name]; //Use session
isset($_SESSION[name]); // Judge
unset($_SESSION[name] ]); //Löschen
session_destroy (); //Alle Sitzungen verbrauchen
Hinweis: session_register(), session_unregister, session_is_registered werden unter PHP5 nicht mehr verwendet
Cookies-Verwendungsbeispiele
if($_GET[' out'])
{ //Wird zum Abmelden von Cookies verwendet setcookie('id',"");
setcookie('pass',""
echo "<script> location.href='login.php'</script>";//Da Cookies nicht rechtzeitig wirksam werden und erst bei erneuter Aktualisierung wirksam werden, lassen Sie die Seite daher nach dem Abmelden automatisch aktualisieren.
}
if($_POST['name']&&$_POST['password']) //Wenn die Variablen Benutzername und Passwort vorhanden sind, setzen Sie unten Cookies
{ //Wird zum Setzen von Cookies verwendet
setcookie( ' id',$_POST['name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"< script> ;location.href='login.php'"; //Cookies rechtzeitig wirksam werden lassen
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //Nachdem Cookies erfolgreich gesetzt wurden, werden Cookies angezeigt
echo „Anmeldung erfolgreich!
Benutzername: „.$_COOKIE['id'].“
Passwort : ".$_COOKIE['pass'];
echo "
";
echo "Cookies abmelden a> "; //Wenn innerhalb doppelter Anführungszeichen mehrere Anführungszeichen vorhanden sind, sind einfache Anführungszeichen erforderlich.
}
?>
Beispiel für die Sitzungsnutzung
<?php //session用法实例 session_start();//启动session,必须放在第一句,否则会出错。 if($_GET['out']) { unset($_SESSION['id']); unset($_SESSION['pass']); } if($_POST['name']&&$_POST['password']) { //用于设置session $_SESSION['id']=$_POST['name']; $_SESSION['pass']=$_POST['password']; } if($_SESSION['id']&&$_SESSION['pass']) { echo "登录成功!<br/>用户ID:".$_SESSION['id']."<br />用户密码:".$_SESSION['pass']; echo "<br />"; echo "<a href='login.php?out=out'>注销session</a>"; } ?>
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Verwendung von Cookies und Sitzungen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!