Très souvent, nous devons suivre les activités des visiteurs sur tout le site Web et identifier automatiquement ou semi-automatiquement leur identité (c'est-à-dire des fonctions telles que la connexion au site Web qui sont souvent mentionnées à l'heure actuelle, nous utilisons souvent des cookies et des sessions). suivre et juger
1. Introduction et différence entre Cookie et Session
Dans de nombreux cas, nous devons suivre les activités des visiteurs sur l'ensemble du site Web et identifier automatiquement ou semi-automatiquement leur identité. (C'est-à-dire des fonctions telles que la connexion à un site Web dont nous parlons habituellement). À l'heure actuelle, nous utilisons souvent les cookies et les sessions pour suivre et juger.
Différence
Les informations de session sont stockées côté serveur, mais l'identifiant de session est stocké dans le cookie client. Bien sûr, les méthodes de stockage de session PHP sont diverses, donc même si les cookies sont désactivés, il peut toujours être suivi
Les cookies sont entièrement conservés sur le client, tels que : IE Firefox Lorsque le client désactive les cookies, ils ne peuvent plus être utilisés
2.
Setcookie(string name, string value, int expire, stringpath, string domain, int secure);
où name est l'identifiant du nom de la variable cookie Vous pouvez l'utiliser pour référencer les variables de cookie en PHP, tout comme. en utilisant des noms de variables ordinaires. value est la valeur initiale de la variable de cookie, expire représente la durée de validité de la variable de cookie ; path représente le chemin pertinent de la variable de cookie ; secure est valide uniquement lorsque https est transmis de manière sécurisée.
SetCookie("Cookie","cookievalue",time()+3600, "/forum",".php100.com", 1);
Recevoir et traiter le cookie
PHP pour Cookie La prise en charge de la réception et du traitement est très bonne et entièrement automatique. C'est le même principe que les variables FORM et c'est très simple.
Par exemple, si vous définissez un cookie nommé MyCookier, PHP l'analysera automatiquement à partir de l'en-tête HTTP reçu par le serveur WEB et formera une variable comme une variable ordinaire nommée $myCookie. La valeur de cette variable est la valeur du cookie. . La même chose s'applique aux tableaux. Une autre façon consiste à référencer le tableau $HTTP_COOKIE_VARS de la variable globale PHP.
Les exemples sont les suivants : (en supposant qu'ils ont été définis dans les pages précédentes et sont toujours valides)
echo $MyCookie;
echo $CookieArray[0];
echo $_COOKIE [" MyCookie"];
echo $HTTP_COOKIE_VARS["MyCookie"];
Supprimer le cookie
Pour supprimer un Cookie existant, il existe deux méthodes :
1. SetCookie("Cookie ","");
2. SetCookie("Cookie", "value" ,time()-1 / time() );
Restrictions d'utilisation des cookies
1. Il doit être défini avant que le contenu du fichier HTML ne soit affiché ;
2. Différents navigateurs gèrent les cookies de manière incohérente, et des résultats incorrects se produiront parfois.
3. La restriction est du côté client. Le nombre maximum de cookies pouvant être créés par un navigateur est de 30, et chaque cookie ne peut excéder 4 Ko. Le nombre total de cookies pouvant être paramétrés par chaque site WEB ne peut excéder 20.
3. Configuration et application de la session
Copier le code Le code est le suivant :
session_start(); $_SESSION[name]=value; Seeeion
echo $_SESSION[name]; //Utiliser la session
isset($_SESSION[name]); // Juger
unset($_SESSION[name] ]); (); //Consommer toutes les sessions
Remarque : session_register(), session_unregister, session_is_registered ne sont plus utilisés sous php5
Exemples d'utilisation des cookies
if($_GET[' out'])
{ //Utilisé pour déconnecter les cookies setcookie('id',"");
setcookie('pass',"");
echo "<script> location.href='login.php'</script>";//Étant donné que les cookies ne prennent pas effet à temps et ne prendront effet que lorsque vous actualiserez à nouveau, laissez donc la page s'actualiser automatiquement après vous être déconnecté.
}
if($_POST['name']&&$_POST['password']) //Si les variables nom d'utilisateur et mot de passe existent, définissez les cookies ci-dessous
{ //Utilisé pour définir les cookies
setcookie( ' id',$_POST['name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"< script> ;location.href='login.php'"; //Laisser les cookies prendre effet à temps
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //Une fois les cookies définis avec succès, utilisé pour afficher les cookies
echo "Connexion réussie !
Nom d'utilisateur : ".$_COOKIE['id']."
Mot de passe : ".$_COOKIE['pass'];
echo "
";
echo "Déconnexion des cookies a> "; //Dans les guillemets doubles, s'il y a plus de guillemets, des guillemets simples sont requis.
}
?>
exemple d'utilisation de session
<?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>"; } ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!