cookie encore arf

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 encore arf

par Nagol » 18 juin 2009, 12:02

qu'est ce que tu comprends pas?

par Nicost » 18 juin 2009, 10:09

Bonjour Nagol et merci de ta réponse.
Alors avec les session_set_cookie_params je crois que je suis rendu lol
Nan mais déjà que je comprend pas grand chose avec le cookie simple, alors si en plus faut faire des modif sur les parametre du cookie j'y arriverai pas plus.
Modifie les paramètres de configuration du cookie de session, qui a été configuré dans le fichier php.ini. L'effet de cette fonction ne dure que pendant l'exécution du script courant. De ce fait, vous devez appeler session_set_cookie_params() pour chaque script et avant l'appel à session_start().
OUai ok moi avec rien compris et vous ?
Bon pas grave, merci quand même...

par Nagol » 18 juin 2009, 02:06

ce que tu veux c'est faire une sorte de session persistente?

si oui tu peux configurer tes sessions de cette manière, une session ca n'est jamais qu'un cookie qui contient un id, relié à un fichier sur le serveur web ou tu as ton php, le cookie peut etre setté avec une durée infinie

voir cette page:

http://fr.php.net/manual/fr/function.se ... params.php

cookie encore arf

par Nicost » 17 juin 2009, 15:43

Bonjour à tous.
J'essai de garder l'utilisateur connecter en ligne, mais des que je referme IE et que j'en relance une nouvelle, pas d'identification.
Merci d'avance pour votre aide !
Voila comment je fait avec les cooki qui de plus je comprend vraiment rien.
index.php
<?php
session_start();
if (isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
$_SESSION['pseudo'] = $_COOKIE['pseudo']; 

/* On créé la variable de session à partir du cookie pour ne pas avoir à vérifier 2 fois sur les pages qu'un membre est connecté. */

}
if (isset ($_COOKIE['pseudo']) && isset ($_SESSION['pseudo']))
{
//On est connecté
}
if (!isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
//On n'est pas connecté
}
?>
connection.php
<?php
session_start();
<h1>Connexion</h1>
<form method="post" action="verif.php">
<fieldset>
<legend>Connexion</legend>
<p>
<label for="pseudo">Pseudo :</label><input name="pseudo" type="text" id="pseudo" /><br />
<label for="password">Mot de Passe :</label><input type="password" name="password" id="password" /><br />
</p>
</fieldset>
<p><input type="submit" value="Connexion" /></p>
 <label>Se souvenir de moi ?</label><input type="checkbox" name="cookie" id="cookie"/><br />
</form>
</div>
connection_ok.php
<?php
session_start();
// Message
if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ
{
        $message = '<p>une erreur s est produite pendant votre identification.
        Vous devez remplir tous les champs
        Cliquez <a href="connexion.php">ici</a> pour revenir</p>';
}
else
{
        //Acces interdit : le membre est déjà connecté
        if (isset($_SESSION['pseudo'])) 
        {
                $message ='<p>Désolé mais vous ne pouvez 
                pas accéder à cette page</p>';
        }
        else // Autorisation ok : il reste à voir le mot de passe
        {
        include("includes/identifiants.php");
        mysql_connect($adresse, $nom, $motdepasse);
        mysql_select_db($database);
       
       
        //On protège les données
        $pseudo = mysql_real_escape_string($_POST['pseudo']);
        $password = mysql_real_escape_string($_POST['password']);
        
        $requete1 = mysql_query('SELECT membre_mdp, membre_id, membre_rang 
        FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"') 
        or die (mysql_error());
        $data1 = mysql_fetch_assoc($requete1);
 
       
        if ($data1['membre_mdp'] == md5($password)) // Acces OK !
        {
       
                $_SESSION['pseudo'] = $pseudo;
                $_SESSION['level'] = $data1['membre_rang'];
                $_SESSION['id'] = $data1['membre_id'];

if(isset($_POST['cookie']) && $_POST['cookie'] == 'on')
						{
							setcookie('pseudo', $result['pseudo'], time()+365*24*3600);
							setcookie('membre_mdp', $result['membre_mdp'], time()+365*24*3600);
						}

							
						

               echo '<script type="text/javascript">window.location= "index.php"</script>';
    

          }
          else
 
         // Acces pas OK ! 
 
      {
                $message = '<p>Une erreur s est produite 
                pendant votre identification.
                Le mot de passe ou le pseudo entré n est pas correcte.
                Cliquez <a href="connexion.php">ici</a> 
                pour revenir à la page précédente
                <br /><br />
                Cliquez <a href="./index.php">ici</a> 
                pour revenir à la page d accueil</p>';
          }
          }
}
//Ici seulement on affiche la page

?>
Encore une fois MERCI pour votre aide !