Groupe PhP

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Groupe PhP

Forum du groupe d'apprentissage mutuel en PHP

Le deal à ne pas rater :
ETB Pokémon Fable Nébuleuse : où acheter le coffret dresseur ...
Voir le deal

+3
Darkwarrios
ptitpunk
kolosta
7 participants

    Formulaire

    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Formulaire

    Message par kolosta Dim 6 Sep - 13:15

    Voici mon problème....
    J'ai essayé de créer un code pour un formulaire et j'ai un problème au niveau de l'insertion dans la banque de donnés
    Voici le code
    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"
    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = $_POST['login'];
       $mot_de_passe = $_POST['mot_de_passe'];
       $mail = $_POST['mail'];

    }
    //$login = $_POST['login'];
    //$mot_de_passe = $_POST['mot_de_passe'];
    //$mail = $_POST['mail'];
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="pom.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    <form action="pom.php" method="post">
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    <form action="pom.php" method="post">
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" />
    </p>
    <?php
    mysql_query ("INSERT INTO espace (ID, login, password, Adresse Mail) VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')");
    mysql_close();
    ?>
    </form>
    </body>
    </html>

    J'ai déjà posté mon problème sur le sdz sans grand résultat.
    Merci de votre aide
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    Formulaire Empty Re: Formulaire

    Message par ptitpunk Dim 6 Sep - 13:36

    Bonjour à toi , bienvenue !
    J'ai une petite question:
    Pourquoi définit-tu deux fois les mêmes variables?


    Code:
    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = $_POST['login'];
      $mot_de_passe = $_POST['mot_de_passe'];
      $mail = $_POST['mail'];

    }
    //$login = $_POST['login'];
    //$mot_de_passe = $_POST['mot_de_passe'];
    //$mail = $_POST['mail'];
    Je pense que si tu les définit avant la condition ça devrait marcher !

    Et aussi, ajoute ta requête dans ta condition :

    Code:
    mysql_query ("INSERT INTO espace (ID, login, password, Adresse Mail) VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')");
    Comme ceci :
    Code:
    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
    mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')");
    }

    A part ça, as-tu un message d'erreur quelconque ou alors ça n'enregistre pas ?

    Sur ce @+
    Je me penches sur ton cas !
    Surprised
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:06

    ptitpunk a écrit:Bonjour à toi , bienvenue !
    J'ai une petite question:
    Pourquoi définit-tu deux fois les mêmes variables?


    Code:
    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = $_POST['login'];
      $mot_de_passe = $_POST['mot_de_passe'];
      $mail = $_POST['mail'];

    }
    //$login = $_POST['login'];
    //$mot_de_passe = $_POST['mot_de_passe'];
    //$mail = $_POST['mail'];
    Je pense que si tu les définit avant la condition ça devrait marcher !

    Et aussi, ajoute ta requête dans ta condition :

    Code:
    mysql_query ("INSERT INTO espace (ID, login, password, Adresse Mail) VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')");
    Comme ceci :
    Code:
    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
    mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')");
    }

    A part ça, as-tu un message d'erreur quelconque ou alors ça n'enregistre pas ?

    Sur ce @+
    Je me penches sur ton cas !
    Surprised

    Merci des infos Smile
    En fait j'ai définit une fois les conditions mais lorsque j'ai posé le problème sur le site du zéro, quelqu'un a corrigé, raccourci le script mais a du oublier de l'enlever
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 14:10

    ton problème est résolu ou non kolosta ? =)
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:18

    Darkwarrios a écrit:ton problème est résolu ou non kolosta ? =)
    Pas entièrement Neutral
    Grâce à ptitpunk je n'ai plus de message d'erreur, ùmais je n'arrive toujours pas à faire entrer des donnés dans la BDD Mad
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    Formulaire Empty Re: Formulaire

    Message par ptitpunk Dim 6 Sep - 14:21

    Fais un
    Code:
    mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die(mysql_error());

    Est-ce que ta table est crée ? Avec les ID, login, password, Adresse Mail ?
    Si une erreur s'affiche reviens-nous voir et montre la nous !
    Smile
    Merci
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:32

    ptitpunk a écrit:Fais un
    Code:
    mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die(mysql_error());

    Est-ce que ta table est crée ? Avec les ID, login, password, Adresse Mail ?
    Si une erreur s'affiche reviens-nous voir et montre la nous !
    Smile
    Merci
    Ma table est créée, je vous met un screnn dès que je peux.
    Aucune erreur s'affiche mais rien ne s'écris dans la table
    Formulaire Phpmyadmin2p.th
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 14:34

    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();

    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="pom.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" />
    </p>
    </form>
    </body>
    </html>

    voilà, essayes sa ^^ si tu as aucun message d'erreur, vérifie bien si dans ta requête, la table, et tout sont bien écrit comme dans ta BDD.


    Dernière édition par Darkwarrios le Dim 6 Sep - 14:37, édité 1 fois
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    Formulaire Empty Re: Formulaire

    Message par ptitpunk Dim 6 Sep - 14:37

    Je rectifie un petit peu Darkwarrios...
    Je propose que tu rajoutes un htmlspecialchar() pour éviterle piratage de ta BDD :


    Code:

    $login = mysql_real_escape_string(htmlspecialchar($_POST['login']));
      $mot_de_passe = mysql_real_escape_string(htmlspecialchar($_POST['mot_de_passe']));
      $mail = mysql_real_escape_string(htmlspecialchar($_POST['mail']));
    Au temps pour moi ! Razz


    Dernière édition par ptitpunk le Dim 6 Sep - 14:39, édité 1 fois
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 14:38

    le htmlspecialchars sert uniquement à l'affichage ...
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:40

    Darkwarrios a écrit:
    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();

    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="pom.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" />
    </p>
    </form>
    </body>
    </html>

    voilà, essayes sa ^^ si tu as aucun message d'erreur, vérifie bien si dans ta requête, la table, et tout sont bien écrit comme dans ta BDD.

    Toujours aucun message d'erreur, mais je n'ai rien dans ma bdd et le screen au dessus prouve que je l'ai bien créer

    Espace utilisé
    Type Espace
    Données 0 0


    Enregistrements 0


    Dernière édition par kolosta le Dim 6 Sep - 14:42, édité 1 fois
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 14:42

    sa doit venir de ton form, comment s'appelle la page qui contient ce script ?
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:43

    Darkwarrios a écrit:sa doit venir de ton form, comment s'appelle la page qui contient ce script ?
    formulaire2.php
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    Formulaire Empty Re: Formulaire

    Message par ptitpunk Dim 6 Sep - 14:43

    La page que tu va recharger s\'appelle pom.php?
    Il se passe quelque chose quand tu postes ?
    EDIT: Remplace ton pom.php par formulaire2.php


    Dernière édition par ptitpunk le Dim 6 Sep - 14:44, édité 1 fois
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 14:44

    formulaire2.php ? dans ce cas :

    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();
            echo 'Insertion réussis';

    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="formulaire2.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" />
    </p>
    </form>
    </body>
    </html>


    Dernière édition par Darkwarrios le Dim 6 Sep - 14:47, édité 1 fois
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:45

    ptitpunk a écrit:La page que tu va recharger s'appelle pom.php?
    Il se passe quelque chose quand tu postes ?
    C'est juste une page que j'ai créer pour que sa ne m'affiche pas "not found"

    Quand je valide, je tombe sur la page pom.php où j'ai seulement mis du Html

    Ok je vais essayé

    J'ai changé pom en formulaire2.php et je tombe sur sa
    Fatal error: Call to undefined function htmlspecialchar() in C:\wamp\www\Test\formulaire 2.php on line 8
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 14:48

    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();
            echo 'Insertion réussis';

    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="formulaire2.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" />
    </p>
    </form>
    </body>
    </html>

    tu as pas de problème normalement ...
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 14:52

    Darkwarrios a écrit:
    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();
            echo 'Insertion réussis';

    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="formulaire2.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" />
    </p>
    </form>
    </body>
    </html>

    tu as pas de problème normalement ...

    Super sa marche merci beaucoup Very Happy
    Seulement sa me réaffiche la même page avec insertion réussi et avec le reste alors que je voudrais seulement insertion réussi
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 15:05

    Code:


    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();
            ?><meta http-equiv="Refresh" content="0;URL=met_ton_url_ici" /><?php

    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <script type="text/JavaScript">
                    function validationOk(){
                          alert('Insertion réussis, redirection ...');
                    }
          </script>
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="formulaire2.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" onclick="validationOk()" />
    </p>
    </form>
    </body>
    </html>

    à la ligne 14, j'ai mis une redirection, met l'url que tu veux à la place de : met_ton_url_ici Wink
    dis moi si sa te conviens =)
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 15:22

    Darkwarrios a écrit:
    à la ligne 14, j'ai mis une redirection, met l'url que tu veux à la place de : met_ton_url_ici Wink
    dis moi si sa te conviens =)

    Merci

    Voila, j'essaie de rajouter une fonctionnalité sur les cases non remplies
    Code:
     ?><meta http-equiv="Refresh" content="0;URL=http://localhost/Test/pom.php" /><?php
          echo 'Insertion réussis';
     
    ?>
    <?php
    }
       if ($login) OR ($mot_de_passe) OR ($mail) EMPTY;
    {
       echo'Veuillez remplir tous les champs du formulaire';
    }
    {
    ?>
    On m'indique une erreur sur la ligne
    "if ($login) OR ($mot_de_passe) OR ($mail) EMPTY;"
    Avez vous une idée du problème et encore merci pour toute votre aide Very Happy

    C'est bon j'ai trouver Very Happy
    Le code bon est
    Code:
    if( empty($nom) || empty($prenom) || empty($age))


    Dernière édition par kolosta le Dim 6 Sep - 15:28, édité 1 fois
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    Formulaire Empty Re: Formulaire

    Message par Darkwarrios Dim 6 Sep - 15:27

    ta une erreur de syntaxe, essayes plutôt :

    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();
            ?><meta http-equiv="Refresh" content="0;URL=met_ton_url_ici" /><?php

    }
            if (empty($_POST['login']) AND empty($_POST['mot_de_passe']) AND empty($_POST['mail'])){
                  echo 'Veuillez remplir tous les champs';
          }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <script type="text/JavaScript">
                    function validationOk(){
                          alert('Insertion réussis, redirection ...');
                    }
          </script>
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="formulaire2.php" method="post">
    <p> login<br/>
    <input type="text" name="login" />
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" onclick="validationOk()" />
    </p>
    </form>
    </body>
    </html>
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    Formulaire Empty Re: Formulaire

    Message par ptitpunk Dim 6 Sep - 15:29

    Code:
    if (empty($_POST['login']) AND empty($_POST['mot_de_passe']) AND empty($_POST['mail']))
    ce serait pas plutôt :
    Code:
    if (empty($_POST['login']) OR empty($_POST['mot_de_passe']) OR empty($_POST['mail']))
    Ou alors OR ne convient pas ici ?
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 15:31

    Les 2 codes marchent....
    Mais le mien est mieux car je demande de reremplir si au moins l'un des trois et vide alors que pour le tien, il faut que tous les trois soit vides.
    Est ce que je me trompe?
    je pense comme ptipunk
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    Formulaire Empty Re: Formulaire

    Message par ptitpunk Dim 6 Sep - 15:34

    Eh bien fais comme bon te semble !
    Very Happy
    Mais je crois que
    Code:
    if (empty($_POST['login']) AND empty($_POST['mot_de_passe']) AND empty($_POST['mail']))
    Exécute la condition, si et seulement si, tous les champs sont vides...
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    Formulaire Empty Re: Formulaire

    Message par kolosta Dim 6 Sep - 15:38

    ptitpunk a écrit:Eh bien fais comme bon te semble !
    Very Happy
    Mais je crois que
    Code:
    if (empty($_POST['login']) AND empty($_POST['mot_de_passe']) AND empty($_POST['mail']))
    Exécute la condition, si et seulement si, tous les champs sont vides...
    C'est pourquoi j'ai choisi ton code..
    Mais le seul problème et que sa ne marche pas car même quand je remplis 2 champs sur 3 sa me fait la redirection et m'amène sur pom.php

    Voici le code complet, avec les ajout de darkwarrios
    Code:
    <?php
    mysql_connect("localhost", "root", ""); //connexion à la bdd
    mysql_select_db("test"); //sélection de la table "test"

    if (isset($_POST['login']) AND isset($_POST['mot_de_passe']) AND isset($_POST['mail'])) // Si la variable existe
    {
        // On se crée une variable $login avec le login entré
        $login = mysql_real_escape_string($_POST['login']);
      $mot_de_passe = mysql_real_escape_string($_POST['mot_de_passe']);
      $mail = mysql_real_escape_string($_POST['mail']);
     
          mysql_query ("INSERT INTO espace VALUES ('','".$login."', '".$mot_de_passe."', '".$mail."')") or die('Erreur de syntaxe à la ligne' .__LINE__);
          mysql_close();
            ?><meta http-equiv="Refresh" content="0;http://localhost/Test/^pom.php" /><?php

    }
            if (empty($_POST['login']) OR empty($_POST['mot_de_passe']) OR empty($_POST['mail']))
    {
                  echo 'Veuillez remplir tous les champs';
         

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page d'inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <script type="text/JavaScript">
                    function validationOk(){
                          alert('Insertion réussis, enregistrement des données en cours, redirection ...');
                    }
          </script>
        </head>
        <body>
    <p>Veuillez entrer votre login, mot de passe et adresse e-mail:</p>
    <form action="pom.php" method="post">
    <p> login<br/>
    <input type="text" name="login" /><br/><br/>
    mot de passe<br/>
    <input type="password" name="mot_de_passe" /> <br/>
    <br/>
    adresse e-mail<br/>
    <input type="mail" name="mail" /> <br/><br/>
    <input type="submit" value="Valider" onclick="validationOk()" />
    </p>
    </form>
    </body>
    </html>
    <?php
    }
    ?>


    Dernière édition par kolosta le Dim 6 Sep - 15:48, édité 1 fois

    Contenu sponsorisé


    Formulaire Empty Re: Formulaire

    Message par Contenu sponsorisé


      La date/heure actuelle est Dim 19 Mai - 10:40