cookie et session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : cookie et session

par Domi » 22 avr. 2005, 09:24

Bonjour Cyrano, merci pour ton aide.

J'ai fait comme tu m'as dit :

<?
session_start();
if (isset($_COOKIE['nom_cookie']))
{
$_SESSION['identifiant']=$_COOKIE['nom_cookie'];
}
elseif ($login_permanent=="1")
{ // etc....

Mais cela fait exactement pareil !

Pour répondre à ouckileou, quand je tape directement l'url de ma page avec contenu protégé, j'obtiens d'abord le formulaire d'identification, et si je rafraichi, il y a bien le contenu protégé qui apparait.

Bizarre non ?

par Cyrano » 22 avr. 2005, 07:20

Regardez donc le code :
<?
if (isset($_COOKIE['nom_cookie']))
{
    session_start();
    $_SESSION['identifiant']=$_COOKIE['nom_cookie'];
}
elseif ($login_permanent=="1")
{ // etc....
S'il y a un cookie, on démarre la session : et s'il y en a pas ?
Remonte la ligne session_start() de deux lignes et refais donc un essai.

par ouckileou » 22 avr. 2005, 01:42

comment ça tu es obligé de rafraichir pour que la session démarre ?

si tu va sur cette page directement, par l'url, puis que tu en consultes une autre, ta session n'est pas ouverte ?

cookie et session

par Domi » 21 avr. 2005, 23:49

Bonjour.

Lorsque j'essaie d'accéder directement (en tapant l'url) à une page protégée, je suis obligé de rafraichir celle ci pour que la session démarre.

Bizarre non ?

Voici le code :

<?
if (isset($_COOKIE['nom_cookie']))
{
session_start();
$_SESSION['identifiant']=$_COOKIE['nom_cookie'];
}
elseif ($login_permanent=="1")
{
require ('../inc/config.php');
mysql_connect($serveur,$login,$pass);
mysql_select_db ($base);
$sql = "select pwd from table_user where login='".$identifiant."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] == $motdepasse)
{
$exp='360*24*3600';
setcookie('forum8pool62', $identifiant, time()+$exp);
session_start($identifiant);
}
}
else
{
session_start();
}
?>

Pour info :
$identifiant et $motdepasse proviennent du formulaire d'identification.
$pwd et $login correspondent aux logins / mots de passe stockés dans ma base de données.
$login_permanent est égale à 1 si la case 'connexion automatique' est coché donc insection du cookie.

Voyez-vous pourquoi ?