Version complète: sur le forum Webmaster Hub : Les cookie
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
Sans Esprit
Je ne comprend pas trop le principe du cookie :

Je commence par placer le code suivant :

CODE
<?php // Envoi d'un cookie qui disparaitra après la fermeture du navigateur
include("config.php");

// On récupere login par la méthode post
$login=$_POST[login];$pass=$_POST[pass];$submit=$_POST[submit];
// On regarde si $login est vide ou pas

if ($login=="")
    { $login=$_GET[login]; // Si le POST na pas récupéré on tente le GET
  if ($login==""){$seloguer="oui";}}

if ($pass=="")
    { $pass=$_GET[pass]; // Si le POST na pas récupéré on tente le GET
  if ($pass==""){$seloguer="oui";}}    

else {$md5pass=md5($pass); $pass=$md5pass;}

SetCookie("manucookie", $login="$login", time() + 3600*24 ,0);
SetCookie("manucookie", $pass="$pass", time() + 3600*24,0);

// CONNEXION A LA BASE DE DONNES
$idConnexion = mysql_connect("localhost", $loginadm, $passadm);
$connexionReussie = mysql_select_db("$baseadm");

?>


son but et de tester login et passe puis de les mettre dans le cockie mais la je croit plutot que j'ai fait une coquille lol

Si je rappel la même page le cookie me sort plus rien
Jok
Essai voir avec :
CODE
setcookie("manucookie", $login, time() + 3600*24, '/');
setcookie("manucookie", $pass, time() + 3600*24, '/');
TheRec
Bonjour,

je dirais plutôt :
CODE
setcookie("login",$login, time()+3600*24, "/", $_SERVER['HTTP_HOST'],0);
setcookie("pass",$pass, time()+3600*24, "/", $_SERVER['HTTP_HOST'],0);

Ensuite, tes variables seront accessible grâce au tableau de variables super globales $_COOKIE ... soit : $_COOKIE['login'] et $_COOKIE['pass']

Mais je te mets en garde sur le fait de stocker ton mot de passe en clair dans un cookie, c'est très dangereux. Le cookie étant stocké en local chez l'utilisateur, cela représente un trop grand risque.

Au pire il te faut utiliser un cryptage "irréversible" comme md5 pour stocker ton mot de passe dans la base de donnée et dans le cookie, la comparaison ne se fera que sur le mot de passe crypté et seul celui qui aura enregistré son mot de passe le saura dans sa forme non-cryptée.

Au mieux tu ne communiques pas le mot de passe (même s'il est crytpé dans la base de données) mais une autre variable unique (un "cookie hash") qui change à chaque fois que l'utilisateur se connecte au moyen du formulaire, ainsi seul lui pourra l'utiliser (à moins que le cookie soit volé).
Le but étant d'éviter les tentatives d'attaques avec dictionnaires pour retrouver de mot de passe crytpés.
Jok
C'est vrai c'est mieux de mettre un nom différent pour les deux cookies biggrin.gif
Je pense quand même que les deux derniers arguments ne sont pas forcément nécessaire.
Sans Esprit
Merci grandement, suite à vos conseil je met sur une de mes page en php

<?php
setcookie("login",$login,time()+ 120,"/");
setcookie("pass",$pass,time()+ 120,"/");
?>


Pas de crainte le pass est déja mouliner par la fonction MD5()

Le probléme et que si ensuite j'ouvre ma page du site il ne me creer pas de cookie !! arf

J'ai du oublier un truc ps je met ca au début du body aprés la balise cela à t il une importance ?
sarc
La chose la plus important c'est que aucune information ne soit envoyée au navigateur avant la création du cookie... Il faut donc faire ça AVANT le <html>, avant toute chose, avant tout code HTML, même un espace suffit à faire planter le tout...
Donc voilà où est l'erreur wink.gif
Sans Esprit
test fait je lui balance plein de code au début de page
<?
setcookie("test_nom", "bonjour à tous",time() + 120,$_SERVER['HTTP_HOST']) ;
setcookie("name",LastSigh,time()+ 120);
setcookie("login",$login,time()+ 120);
setcookie("pass",$pass,time()+ 120);
?>

et

<?PHP
setcookie("test_nom", "bonjour à tous",time() + 120,$_SERVER['HTTP_HOST']) ;
setcookie("name",LastSigh,time()+ 120);
setcookie("login",$login,time()+ 120);
setcookie("pass",$pass,time()+ 120);
?>

en ajoutant PHP au cas ou mais rien ne fait je vais dans mon dossier de cookie et tj rien :-(
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.