Partage
  • Partager sur Facebook
  • Partager sur Twitter

pb cookie et formulaire

    8 mars 2007 à 19:25:57

    Bonjour voila je voudrais savoir comment enregistrer des informations issuent d'un formulaire dans un cookie. Ca m'affiche bien le nom ($_POST['nom']) mais le $_COOKIE reste vide.
    Voila mon code:

    <?
    if(empty($_POST['nom'])&& !isset($_cookie['pseudo']))
    {
    $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
    $nom=$_POST['nom'];
    setcookie('pseudo', $_POST['nom'], $timestamp_expire); // On écrit un cookie

    ?>

    <html>
    <head>
    <title>
    cookie
    </title>
    </head>
    <body>
    <form method="POST" action="cookie++.php" name="form">
    nom<input type="text" name="nom">
    <?
    if(empty($_POST['nom'])&& isset($_POST['valider']))
    {
    echo 'remplir le champ nom';
    }
    ?>
    <br/>
    <input type="submit" value="valider" name="valider">

    </form>

    </body>
    </html>
    <?
    }
    else
    {
    echo '<html><head><title>bienvenue</title></head><body>';
    echo 'bonjour et bienvenue' .' ' .'nom:' .' ' .$_POST['nom'] .' ' .'cookie:' .' ' .$_COOKIE['pseudo'];
    echo '</body></html>';
    }
    ?>

    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2007 à 19:31:01

      empty renvoi true si la variable est vide et false si elle n'est pas vide (ou égal à 0) donc tu t'es trompé dans ta condition
      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2007 à 19:37:37

        Regarde même la ca ne marche toujours pas pourquoi?

        <?
        $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
        setcookie('pseudo', $_POST['nom'], $timestamp_expire); // On écrit un cookie
        ?>

        <html>
        <head>
        <title>
        cookie
        </title>
        </head>
        <body>
        <form method="POST" action="cookie++.php" name="form">
        nom<input type="text" name="nom">
        <?
        if(empty($_POST['nom'])&& isset($_POST['valider']))
        {
        echo 'remplir le champ nom';
        }
        ?>
        <br/>
        <input type="submit" value="valider" name="valider">

        </form>

        </body>
        </html>
        <?

        if(!empty($_POST['nom'])&& isset($_POST['valider']))
        {
        echo '<html><head><title>bienvenue</title></head><body>';
        echo 'bonjour et bienvenue' .' ' .'nom:' .' ' .$_POST['nom'] .' ' .'cookie:' .' ' .$_COOKIE['pseudo'];
        echo '</body></html>';
        }
        ?>
        • Partager sur Facebook
        • Partager sur Twitter
          8 mars 2007 à 19:42:53

          déja, si $_POST['nom'] est vide sa vas te faire un cookie vide

          fais setcookie('pseudo', 'test', $timestamp_expire);
          pour vérifier si ça marche est vérifie que le cookie est bien créé
          • Partager sur Facebook
          • Partager sur Twitter
            8 mars 2007 à 19:58:00

            Le cookie de test fonctionne bien mais dès que je veut mettre une variable dans mon cookie il ne marche plus pourquoi?
            ($_COOKIE['pseudo'] ne renvoit rien)
            ($_COOKIE['test'] renvoit : bravo)

            <?

            $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
            $nom=$_POST['nom'];
            setcookie('pseudo', $nom, $timestamp_expire); // On écrit un cookie
            setcookie('test','bravo',$timestamp_expire);

            ?>
            <html>
            <head>
            <title>
            cookie
            </title>
            </head>
            <body>
            <form method="POST" action="cookie++.php" name="form">
            nom<input type="text" name="nom">
            <?
            if(empty($_POST['nom'])&& isset($_POST['valider']))
            {
            echo 'remplir le champ nom';
            }
            ?>

            <?
            if(!empty($_POST['nom'])&& isset($_POST['valider']))
            {
            $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
            $nom=$_POST['nom'];
            setcookie('pseudo', $nom, $timestamp_expire); // On écrit un cookie
            }
            ?>
            <br/>
            <input type="submit" value="valider" name="valider">

            </form>

            </body>
            </html>
            <?

            if(!empty($_POST['nom'])&& isset($_POST['valider']))
            {
            echo '<html><head><title>bienvenue</title></head><body>';
            echo 'bonjour et bienvenue' .' ' .'nom:' .' ' .$_POST['nom'] .' ' .'cookie:' .' ' .$_COOKIE['pseudo'].'<br/>';
            echo 'cookie test:' .' ' .$_COOKIE['test'];
            echo '</body></html>';
            }
            ?>


            • Partager sur Facebook
            • Partager sur Twitter
              8 mars 2007 à 20:00:38

              c'est que $_post['nom'] est vide

              fais :

              if(!empty($_POST['nom'])&& !isset($_POST['valider']))
              setcookie('pseudo', $_POST['nom'], $timestamp_expire);
              ensuite tu apele ta pâge et tu remplit et valide le formulaire
              • Partager sur Facebook
              • Partager sur Twitter
                8 mars 2007 à 20:45:19

                essayez: c'est ici
                Ca ne marche toujours pas pourquoi?
                Voici le code:

                <?
                if(!empty($_POST['nom'])&& !empty($_POST['prenom']) && !isset($_POST['valider']))
                {
                $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
                $nom=$_POST['nom'];
                setcookie('nom', $_POST['nom'] ,$timestamp_expire ); // On écrit un cookie
                setcookie('prenom',$_POST['prenom'] ,$timestamp_expire);
                setcookie('test','bravo',$timestamp_expire);
                }
                ?>
                <html>
                <head>
                <title>
                cookie
                </title>
                </head>
                <body>
                <form method="POST" action="cookie++.php" name="form">
                nom<input type="text" name="nom"/>
                <?
                if(empty($_POST['nom'])&& isset($_POST['valider']))
                {
                echo 'remplir le champ nom';
                }
                ?>


                <br/>



                prenom<input type="text" name="prenom"/>
                <?
                if(empty($_POST['prenom'])&& isset($_POST['valider']))
                {
                echo 'remplir le champ prenom';
                }
                ?>


                <br/>


                <input type="submit" value="valider" name="valider">

                </form>

                </body>
                </html>
                <?

                if(!empty($_POST['nom']) && !empty($_POST['prenom']) && isset($_POST['valider']))
                {


                echo '<html><head><title>bienvenue</title></head><body>';
                echo 'bonjour et bienvenue' .'<br/> ' .'nom:' .' ' .$_POST['nom'] .'<br/> ' .'prenom:' .' ' .$_POST['prenom'] .'<br/>'  .'cookie nom:' .' ' .$_COOKIE['nom'].'<br/>' .'cookie prenom:' .' ' .$_COOKIE['prenom'] .'<br/>';
                echo 'cookie test:' .' ' .$_COOKIE['test'] .'<br/>' .'<a href="cookie++.php">retour</a>';
                echo '</body></html>';
                }
                ?>


                • Partager sur Facebook
                • Partager sur Twitter
                  8 mars 2007 à 21:16:43

                  enlève le ! devant isset($_POST['valider'])

                  car ça veux dire et si $_POST['valider'] n'existe pas
                  • Partager sur Facebook
                  • Partager sur Twitter

                  pb cookie et formulaire

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown