Probleme cookies

Eléphant du PHP | 57 Messages

19 déc. 2011, 10:22

la le cookies reste bien dans firefox mais maintenant le prob c que a chaque fois que je quite le site et je reviens plus tard il faut se reloguer meme si le cookies est la jai du merder quelque part

ViPHP
xTG
ViPHP | 7331 Messages

19 déc. 2011, 11:08

Si la détection du cookie se fait il faut recréer la session, sinon il est normal de ne pas avoir de session. ^^

Eléphant du PHP | 57 Messages

19 déc. 2011, 11:13

etant novice c un peu compliquer pour moi comment ferais tu ça par rapport a mon code sur le post précédent ???

Code : Tout sélectionner

<?php include('config.php'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" /> <title>Connection</title> </head> <body> <div class="header"> <a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a> </div> <?php //Si lutilisateur est connecte, on le deconecte if(isset($_SESSION['username'])) { //On le deconecte en supprimant simplement les sessions username et userid unset($_SESSION['username'], $_SESSION['userid']); ?> <div class="message">Vous avez bien &eacute;t&eacute; d&eacute;connect&eacute;.<br /> <a href="<?php echo $url_home; ?>">Accueil</a></div> <?php } else { $ousername = ''; //On verifie si le formulaire a ete envoye if(isset($_POST['username'], $_POST['password'])) { //On echappe les variables pour pouvoir les mettre dans des requetes SQL if(get_magic_quotes_gpc()) { $ousername = stripslashes($_POST['username']); $username = mysql_real_escape_string(stripslashes($_POST['username'])); $password = stripslashes($_POST['password']); } else { $username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; } //On recupere le mot de passe de lutilisateur $req = mysql_query('select password,id from users where username="'.$username.'"'); $dn = mysql_fetch_array($req); //On le compare a celui quil a entre et on verifie si le membre existe if($dn['password']==$password and mysql_num_rows($req)>0) { //Si le mot de passe es bon, on ne vas pas afficher le formulaire $form = false; //On enregistre son pseudo dans la session username et son identifiant dans la session userid $_SESSION['username'] = $_POST['username']; $_SESSION['userid'] = $dn['id']; ?> <div class="message">Vous avez bien &eacute;t&eacute; connect&eacute;. Vous pouvez acc&eacute;der &agrave; votre espace membre.<br /> <a href="<?php echo $url_home; ?>">Accueil</a></div> <?php } else { //Sinon, on indique que la combinaison nest pas bonne $form = true; $message = 'La combinaison que vous avez entr&eacute; n\'est pas bonne.'; } } else { $form = true; } if($form) { //On affiche un message sil y a lieu if(isset($message)) { echo '<div class="message">'.$message.'</div>'; } //On affiche le formulaire ?> <div class="content"> <form action="connexion.php" method="post"> Veuillez entrer vos identifiants pour vous connecter:<br /> <div class="center"> <label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br /> <label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br /> <input type="submit" value="Connection" /> </div> </form> </div> <?php } } ?> <div class="foot"><a href="<?php echo $url_home; ?>">Retour &agrave; l'accueil</a> - <a href="http://www.supportduweb.com/">Support du Web</a></div> </body> </html>

ViPHP
xTG
ViPHP | 7331 Messages

19 déc. 2011, 11:16

Un autre sujet sur le thème qui a été résolu : php-debutant/connexion-automatique-t261041.html

Eléphant du PHP | 57 Messages

19 déc. 2011, 23:20

bon voila un autre probleme maintenant la connexion est bien automatique par recuperation des cookies mais le probleme est que je n'arrive plus a me deconnecter a chaque fois il me reconnecte voici ce que jai mit dans l'index.php il dois manquer quelque chose

<?php
session_start(); 

if(isset($_COOKIE['user']))
{
$_SESSION['username'] = $_COOKIE['user'];
}
?>

ViPHP
xTG
ViPHP | 7331 Messages

20 déc. 2011, 08:53

Bah il faut supprimer le cookie à la déconnexion. :mrgreen:

Eléphant du PHP | 57 Messages

20 déc. 2011, 09:39

ouai je me doute ça m'est venue hier ;)

j'ai créer une page deconnexion et tuer toutes les taches
<?php
session_start();
session_unset();
session_destroy();
setcookie('user',NULL,time()+1);

header('Location: connexion.php');
exit();
?>
merci ;)

Eléphant du PHP | 57 Messages

20 déc. 2011, 10:42

j'aimerais savoir si y a possibilité de bloquer le HTML avant la creation du cookies

je m'explique mon site est en 3 partie :

header.php
accueil.php
footer.php

mon espace membre :

index.php
deconnexion.php
connexion.php


le probleme est que le header est bourrer de html et lorsque je veux lancer la creation du cookies via la page deconnexion.php j'ai une erreur vu que le header charge avant la page deconnexion.php

y a t-il un moyen pour executer en 1 er la page deconnexion avant ce HEADER.php ???