Mettre en françaisPut on englishespagnoleallemand
Instant gaming

 Economisez sur l'achat de vos jeux 

 



Nouveaute
Mise en place d'un client Ftp (Filezilla)

Filezilla, logiciel ftpLe Ftp est un protocole de transfert de fichiers (File Transfer Protocol) destiné à l'échange de fichiers sur un réseau informatique.

 

Lire le billet : Client Ftp (Filezilla)

Internet explorer 8 et animation flash

Internet explorer en 64 bitsInternet explorer 8 ne me permet pas d'installer le Flash Media Player

En effet votre ordinateur ce compose de deux applications si vous êtes sur Windows Seven ...
 

Lire le billet : Internet explorer 8 et flash 



Langage Php : Cookie et Setcookie

Les prérequis

Notion de base du langage Php et Html

Présentation

La pluspart des sites permettent à leurs utilisateur de s'inscrire afin de bénéficier d'avantages tels que poster des méssages, voir les messages recus, avoir les news réservé aux inscrits ...

Pour ce faire il existe trois maniéres :

1 - Les variable en php et les condition
On fait sauter les variable d'une page à l'autre en la métant dans un lien ou a travers une forme ... la page suivante les récupére et grace au condition peut interroger la base de données. [J'ai testé c'est long à mettre en place, pas mal de possibilité d'erreur]

2 - Les cookie
Utilisant un fichier le cookie permet de conservé sur toute les pages un ensemble de variable qui pourront etre appelée au début de la page.

3 - Les session
[Je n'ai pas encore assez de connaissance la dessus pour vous faire une bonne présentation du cookie mais cela viendra]

Commande de base : setcookie

La commande de base afin de générer un envoie de cookie est SETCOOKIE

Setcookie() est une commande qui ne marche pas si elle n'est pas générée avant le moindre affichage sur la page.
Cela implique que sont emplacement doit biensure etre avant même la balise sous peine de n'avoir qu'une erreur au finale. Cette restriction n'est en aucun cas liée au langage Php mais juste à une norme d'utilisation des cookie

La syntaxe de la commande Setcookie

Une commande setcookie en php doit biensure etre placée entre deux balise et ?> ou et ?>, comme dis précédemment il est bien d'éviter de mettre avant elle un code qui donnerais un résultat texte sur la page html.

Exemple :
setcookie (......);
?>
Ce code marchera car il appel directement le cookie alors que :
$valeur="001";
echo "$valeur";
setcookie (......);
?>
Ce code ne marchera pas car il affichera 001 avant même de créer le cookie ce qui est contraire aux régle des cookies.

La syntaxe de la commande Setcookie est la suivante :
Setcookie( name ,value, expire, path, domain, secure);
Elle est composée de la commande elle même, "setcookie" et des paramétres qui peuvent ou doivent pour certain lui etre attribués.

Les paramétres de la commande setcookie

Les différent paramétre de la commande Setcookie sont :
- Name : Le nom du cookie ou de la variable
- Value : La valeur du cookie ou de la variable
- Expire : La durée de validité du cookie
- Path : Le chemin
- Domaine : Le domaine
- Secure : Le choix de la sécurité à appliquer

Voici une explication plus détaillée de chacuns de ces paramétres :
Paramétre
Explication
Exemple
Name Le paramétre name est le nom du cookie, prenom l'exemple d'un login que je souhaite conserver afin qu'il soit utilisé sur toutes les pages. Dans ce cas la, le cookie sera le login et il portera comme nom 'login'
Ce champ est obligatoire

 
Setcookie(login; ....);
Mon cookie va s'appeler login
Value Le value ou valeur en francais sera comme son nom l'indique la valeur de notre cookie. En ce basant sur l'exemple du login, la va leur sera donc le login de l'internaute qui aura été récupéré d'une form ou autre. Cette valeur peut aussi etre un texte fixe biensure.

 
Setcookie(login, "$login", ....);
Je vais lui affecter la valeur de $login
Expire Un cookie n'est pas actif eternellement et on peut soit même régler ce temps d'activitée. La commande la plus utilisée [vu que la base est un timestamp unix] sera "time()". On pourra aussi utiliser la commande mktime() mais il faut au préhalable la paramétrer je conseillerai donc de ne l'utiliser quye s'il est vraiment utile.

 
Setcookie(login, "$login", time() + 120, ....);
Je régle mon cookie sur heure actuel + 120 seconde soit une durée de 2 minutes.
Path Ceci le le chemin d'action du cookie. Par ce paramétre on choisi quel est le dossier sur le serveur qui est concerné par le cookie. Dans notre exemple : imaginons que le login ne soit utile que sur les pages des membres que l'on a mis dans un dossier nommé Adminsitration, dans ce cas la valeur sera /Administration/ mais biensure l'integralité du dossier Administration sera concerné , si on à un dossier "Administration/Path/" sur le site, le dossier path est pris en compte pour le cookie.
La valeur par defaut est "/" ce qui signifie l'ensemble du site.

 
Setcookie(login, "$login", time() + 120,"/admin/",...);
Je défini que le champs d'action de mon cookie sera l'intégralité des fichiers ce trouvant dans le dossier "Admin" du site.
Domaine Permet d'indiquer le domaine ou le cookie est disponible.
Afin qu'un cookie soit accessible depuis l'intégralité du domaine on mettrat "nomdudomaine.com" mais cela risque de ne pas etre compatible avec certain navigateur, c'est pourquoi il est bien de rajouter "." devant.
Ne pas oublier que si vous mettez "www.nomdudomaine.com" cela ne marchera pas en cas d'absense des "www".
Setcookie(login, "$login", time() + 120,"/admin/",".bibliotheque-des-esprits.com,...);
Je défini que le domaine d'action du cookie est bibliotheque-des-esprits.com
Secure Permet d'indiquer si la connexion est securisée ou non et si le cookie doit etre envoyé via un HTTPS ou pas.
La valeur par defaut est "0" ce qui signifie qu'une connexion simple, non sécuriser peut faire l'affaire.
Si vous passé par une connexion sécurisé il vous faudra mettre "1" et dans ce cas si la connexion n'est pas securisée le cookie ne pourra pas etre envoyé.

 
Setcookie(login, "$login", time() + 120,"/admin/",".bibliotheque-des-esprits.com,0);
Je met une sécurité nul ou indique que le HTTPS n'est pas requis. Dans ce cas j'aurais aussi pu ne rien mettre.

Les choses à savoir

Rappel :
1 - Un cookie ne peut etre créer que si le code générant sa création est placé avant la balise
2 - Un cookie nécéssite un rechargement de page soit F5 soit aller sur une autre page qui utilise le cookie pour qu'il soit effectif.
3 - Il est possible de voir le résultat de son cookie en appelant la commande suivante :
print_r($_COOKIE);
En fait elle permet de voir ce que contient le cookie

Exemple de mise en application d'une création de cookie avec Setcookie

Pour cet exemple je souhaite creer un cookie et stocker les valeurs du mon login et mot de passe dedans aprés lui avoir donné un nom
1 - Je met la commande qui placera le "nom" dans mon cookie
setcookie('nomducookie', 'testcookie', time() + 240, '/', 0);
2 - Je met la commande qui placera le "login" dans mon cookie [login stocker avant dans $login]
setcookie('login', "$login", time() + 240, '/', 0);
3 - Je met la commande qui placera le "motdepasse" dans mon cookie [mot de pass stocker avant dans $mpass]
setcookie('motdepasse', "$mpass", time() + 240, '/', 0);
Le code finale donnera biensure :
setcookie('nomducookie', 'testcookie', time() + 240, '/', 0);
setcookie('login', "$login", time() + 240, '/', 0);
setcookie('motdepasse', "$mpass", time() + 240, '/', 0);
?>

Ceci me donnera sur le disque dur de l'internaute un cookie qui comportera les données suivantes :
nomducookie
testcookie
login
"valeur de $login"
motdepasse
"valeur de $mpass"
"dossier d'action du cookie soit le / "
"temps d'execution du cookie"

Le nom du cookie lui biensure sera une combinaison faite à partir de vos information :
Utilisateur@dossier d'action.txt
- Utilisateur : c'est biensure votre utilisateur sous windows
- Dossier : c'est celui choisi dans le cookie
- .txt : Le cookie est toujours un document texte

 Exemple de mise en application d'une suppression de cookie avec Setcookie

Reprenons le code qui nous à servis à créer notre premier cookie :
setcookie('nomducookie', 'testcookie', time() + 240, '/', 0);
setcookie('login', "$login", time() + 240, '/', 0);
setcookie('motdepasse', "$mpass", time() + 240, '/', 0);
?>

La suppression du cookie est simple, pas mal vous dirons qu'il suffit de mettre une valeur de time() négative mais cela ne m'a jamais réussi donc je vous laisse tenter.

Moi je conseil juste de rappeler nos valeur et de ne rien mettre dedans afin de leur dire de s'en aller
setcookie('nomducookie');
setcookie('login');
setcookie('motdepasse');
?>

En faisant cela on vide le cookie des ligne comportant nomducookie, login et motdepasse

  • Sitemap
  • Les partenaires +
  • Les tutoriaux
  • Autre
  •  

Développé par vision-storm.com Flux Rss des Pages Flux Rss des Pages