IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Réafficher formulaire avec données saisies


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Réafficher formulaire avec données saisies
    Bonjour

    Je suis débutant et suis en train de créer un formulaire d'inscription avec les champs nom, prénom, email, etc...
    J'ai donc créé un fichier formulaire.html et un fichier traitement.php pour effectuer les contrôles et écrire dans la base de données les valeurs saisies dans le formulaire.
    J'aimerais tester si l'adresse email existe ou non dans la base avant d'écrire toutes les données dans la base. Si l'adresse n'existe pas on écrit les données saisies dans la base, mais si elle existe je voudrais réafficher le formulaire avec les données déjà saisies précédemment pour que l'utilisateur puisse modifier l'adresse email.

    Détail fichier "formulaire.html"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form id="form1" name="form1" method="post" action="traitement.php">
      <span class="Style3"><strong>Email</strong> <strong>valide</strong></span>
      <input name="email" type="text" size="30" maxlength="30" />
    &nbsp;</span>
    </form>
    Détail du fichier "traitement.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
    $host = "localhost";
    $user = "pasc06";
    $pass = "pswd";
    $bdd = "ma_base";
     
    // connexion
    mysql_connect($host,$user,$pass)
       or die("Impossible de se connecter au serveur");
     
    mysql_select_db("$bdd")
       or die("Impossible de se connecter à la base de données");
     
    // Récupération du champ
    $email = $_POST["email"] ;
     
    // Verification de l'existence ou non de l'email dans la base
    $resultat = mysql_query ("SELECT email FROM identification WHERE email ='$email'");
    $test = mysql_num_rows($resultat);
     
    //Si l'email n'existe pas:
    if($test==0) 
    {
    // alors on écrit l'email dans la base
    }
     
    // Si l'email existe déjà dans la base
    else {
    // Ici je voudrais réafficher le formulaire avec les données saisies !!!
    }
    ?>
    J'ai volontairement enlevé tous les contrôles et la partie écriture dans la base qui fonctionnent parfaitement. Comment faire pour réafficher le formulaire avec les données saisies précédemment afin que l'utilisateur puisse modifier l'adresse email ? Essayez d'être très explicite dans vos réponses svp car je suis vraiment noob !

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    je suis debutant aussi mais j'ai reussi a le faire

    voici un copier coller d' un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <label class="text">First Name :</label><input class="text" name="IFirstname" type="text" size="30" maxlength="30" <?php if (isset($_POST['IFirstname'])) {echo 'value="' .$_POST['IFirstname']. '" ';}?> />
    Ifirstname etant mon champ de ma bdd

  3. #3
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Si elle existe on l'écrit dans la base, et si elle n'existe pas je voudrais réafficher le formulaire avec les données déjà saisies.
    C'est pas l'inverse que tu veux faire plutot ?

    il te suffit de faire une requête SQL qui va chercher les informations de l'utilisateur qui a cet email :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $resultat = mysql_query ("SELECT * FROM identification WHERE email ='$email'");
    $test = mysql_num_rows($resultat);
     
    //Si l'email n'existe pas:
    if($test==0) 
    {
    $sql = mysql_query('INSERT INTO identification VALUES('',"'.$_POST['email'].'",[...]);');
    }
     
    else {
    $utilisateur = mysql_fetch_array($resultat);
    echo '<form id="form1" name="form1" method="post" action="traitement.php">
      <span class="Style3"><strong>Email</strong> <strong>valide</strong></span>
      <input name="email" type="text" size="30" value="'.$utilisateur['email'].'"maxlength="30" />
    &nbsp;</span>
    </form>
    ';
    }
    Citation Envoyé par bullrot Voir le message
    je suis debutant aussi mais j'ai reussi a le faire

    voici un copier coller d' un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <label class="text">First Name :</label><input class="text" name="IFirstname" type="text" size="30" maxlength="30" <?php if (isset($_POST['IFirstname'])) {echo 'value="' .$_POST['IFirstname']. '" ';}?> />
    Ifirstname etant mon champ de ma bdd
    IFirstname est le champ de ton formulaire.

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Dans ta page formulaire.html tu ne pourras pas écrire de PHP, l'idéal est d'avoir une page formulaire.php dont le formulaire à pour action "formulaire.php".

    Ensuite il te suffit de vérifier que ta variable $_POST['email'] est valorisée, si c'est le cas valorise l'attribut value de ton <input/>

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Fusion
    Tu as raison ThomasR. Il semble que la solution soit la fusion des 2 fichiers. J'ai essayé de fusionner "formulaire.html" et "traitement.php" en 1 seul fichier "formulaire.php" ou le formulaire à pour action "formulaire.php" et le réaffiche avec la donnée si l'email existe dans la base mais je n'y arrive pas....

    Quelqu'un pour m'aider ?

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir,
    tu pourrais nous montrer ton code actuel stp ?

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Le voilà !
    Je suis vraiment novice, il doit y avoir des erreurs grosses comme moi !

    Pour l'instant j'ai un écran noir si le serveur est en route ou un caractère "/>" en trop à l'affichage si le serveur est arrêté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
    <!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" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    .Style1 {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12px;
    }
    .Style2 {color: #CCCCCC}
    body {
    	background-color: #000000;
    }
    .Style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; }
    -->
    </style>
     
    <?php
    $host = "localhost";
    $user = "pasc06";
    $pass = "bnbnbnbn";
    $bdd = "essai";
     
    // connexion
     
    $connexion = mysql_connect($host,$user,$pass)
       or die("Impossible de se connecter au serveur");
     
    mysql_select_db("$bdd")
       or die("Impossible de se connecter à la base de données");
     
     
    // Récupération des champs
     
     
    $email = $_POST["email"] ;
     
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
     
    // Verification de l'existence ou non de l'email dans la base
    $resultat = mysql_query ("SELECT email FROM identification WHERE email ='$email'");
    $test = mysql_num_rows($resultat);
     
    //si l'email n'existe pas:
    if($test==0) 
    {
    //création de la requête SQL:
    $sql = "INSERT  INTO identification (email) VALUES ('$email') " ;
     
      //exécution de la requête SQL:
      $requete = mysql_query($sql, $connexion) or die( mysql_error() ) ;
    // echo('vous êtes inscrit');
    mysql_close();
    }
     
    ?>
     
    </head>
     
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td colspan="2" bgcolor="#CCCCCC"><p>&nbsp;</p>
        <p>&nbsp;</p>      <p>&nbsp;</p></td>
        <td colspan="2" bgcolor="#CCCCCC">&nbsp;</td>
      </tr>
      <tr bgcolor="#000000">
        <td width="2%" bgcolor="#FF0000">&nbsp;</td>
        <td width="16%" bgcolor="#FF0000">&nbsp;</td>
        <td width="2%" rowspan="8">&nbsp;</td>
        <td width="80%">&nbsp;</td>
      </tr>
      <tr bgcolor="#000000">
        <td width="2%" bgcolor="#FF0000">&nbsp;</td>
        <td bgcolor="#FF0000">&nbsp;</td>
        <td width="80%" rowspan="7" valign="top">
        <form action="formulairetest.php" method="post" name="form1" class="Style1" id="form1">
          <p>&nbsp;</p>
          <p class="Style2"><strong>Email</strong>
            <strong>valide</strong>          
      <input name="email" type="text" size="30" maxlength="30" <?php if ($test!=0) {echo 'value="' .$_POST['email']. '" ';}?> />
          <input type="submit" name="envoyer" id="envoyer" value="Créer votre profil" />
          </p>
        </form>    </td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td colspan="2">&nbsp;</td>
      </tr>
     
      <tr bgcolor="#FF0000">
        <td colspan="2" align="center">&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_select_db($bdd); // sans les guillements

  9. #9
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Merci
    Merci Thomas de ton aide

    En + je faisais la même commande quelques lignes plus bas. J'ai donc supprimé la ligne avec les guillemets.

    Mais j'ai toujours un écran noir !

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Normal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    body {
    	background-color: #fff;
    }

  11. #11
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Ca va mieux !
    Effectivement on voit + clair !

    J'ai encore 2 erreurs Undefined index

    J'ai tjrs une erreur sur la ligne 36 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $email = $_POST["email"] ;
    et sur la ligne 80 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="email" type="text" size="30" maxlength="30" <?php if ($test!=0) {echo 'value="' .$_POST['email']. '" ';}?> />

    Mais je ne sais pas comment y remédier....

  12. #12
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir,
    voici ton code légèrement modifié, mais,

    À quoi ca te sert de rentrer un email et de valider, de chercher ce meme email dans une table qui ne contient qu'un seul champ et de réinserer ce meme email ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
    <!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" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    .Style1 {
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-size: 12px;
    }
    .Style2 {color: #CCCCCC}
    body {
      background-color: #fff;
    }
    .Style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; }
    -->
    </style>
     
    <?php
    $host = "localhost";
    $user = "pasc06";
    $pass = "bnbnbnbn";
    $bdd = "essai";
     
    // connexion
     
    $connexion = mysql_connect($host,$user,$pass)
       or die("Impossible de se connecter au serveur");
     
    mysql_select_db("$bdd")
       or die("Impossible de se connecter à la base de données");
     
     
    // Récupération des champs
    if(isset($_POST['email'])){
     
    $email = $_POST["email"] ;
     
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
     
    // Verification de l'existence ou non de l'email dans la base
    $resultat = mysql_query ("SELECT email FROM identification WHERE email ='$email'");
    $test = mysql_num_rows($resultat);
     
    //si l'email n'existe pas:
    if($test==0) 
    {
    //création de la requête SQL:
    $sql = 'INSERT INTO identification VALUES ("'.$email.'")';
     
      //exécution de la requête SQL:
      $requete = mysql_query($sql, $connexion) or die( mysql_error() ) ;
    // echo('vous êtes inscrit');
    mysql_close();
    }
    }
    ?>
     
    </head>
     
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td colspan="2" bgcolor="#CCCCCC"><p>&nbsp;</p>
        <p>&nbsp;</p>      <p>&nbsp;</p></td>
        <td colspan="2" bgcolor="#CCCCCC">&nbsp;</td>
      </tr>
      <tr bgcolor="#000000">
        <td width="2%" bgcolor="#FF0000">&nbsp;</td>
        <td width="16%" bgcolor="#FF0000">&nbsp;</td>
        <td width="2%" rowspan="8">&nbsp;</td>
        <td width="80%">&nbsp;</td>
      </tr>
      <tr bgcolor="#000000">
        <td width="2%" bgcolor="#FF0000">&nbsp;</td>
        <td bgcolor="#FF0000">&nbsp;</td>
        <td width="80%" rowspan="7" valign="top">
        <form action="formulairetest.php" method="post" name="form1" class="Style1" id="form1">
          <p>&nbsp;</p>
          <p class="Style2"><strong>Email</strong>
            <strong>valide</strong>          
      <input name="email" type="text" size="30" maxlength="30" <?php if (isset($_POST['email'])!=0) {echo 'value="' .$_POST['email']. '" ';}?> />
          <input type="submit" name="envoyer" id="envoyer" value="Créer votre profil" />
          </p>
        </form>    </td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td colspan="2">&nbsp;</td>
      </tr>
     
      <tr bgcolor="#FF0000">
        <td colspan="2" align="center">&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>

  13. #13
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Simplification
    Je dosi avoir une quinzaine ou une vingtaine de champs sur le formulaire, mais le reste fonctionne. j'ai volontairement retirer les lignes qui ne servait à rien pour simplifier la recherche d'erreurs.

  14. #14
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut remplacement
    Pourquoi avoir remplacé la ligne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT  INTO identification (email) VALUES ('$email') " ;
    par la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO identification VALUES ("'.$email.'")';

    Quand je valide j'ai une erreur "Column count doesn't match value count at row 1"

    Je ne sais pas d'ou ça vient

  15. #15
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Le code
    J'ai modifié les lignes que tu avais changées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'INSERT INTO identification VALUES ("'.$email.'")';
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="email" type="text" size="30" maxlength="30" <?php if (isset($_POST['email'])!=0) {echo 'value="' .$_POST['email']. '" ';}?> />

    Voici le code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    <!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" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    .Style1 {
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-size: 12px;
    }
    .Style2 {color: #CCCCCC}
    body {
    	background-color: #FFFFFF;
    }
    .Style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; }
    -->
    </style>
     
    <?php
    $host = "localhost";
    $user = "pasc06";
    $pass = "bnbnbnbn";
    $bdd = "essai";
     
    // connexion
     
    $connexion = mysql_connect($host,$user,$pass)
       or die("Impossible de se connecter au serveur");
     
    mysql_select_db("$bdd")
       or die("Impossible de se connecter à la base de données");
     
     
    // Récupération des champs
    if(isset($_POST['email'])){
     
    $email = $_POST["email"] ;
     
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
     
    // Verification de l'existence ou non de l'email dans la base
    $resultat = mysql_query ("SELECT email FROM principal WHERE email ='$email'");
    $test = mysql_num_rows($resultat);
     
    //si l'email n'existe pas:
    if($test==0) 
    {
    //création de la requête SQL:
    $sql = "INSERT  INTO principal (email) VALUES ('$email') " ; 
      //exécution de la requête SQL:
      $requete = mysql_query($sql, $connexion) or die( mysql_error() ) ;
    mysql_close();
    }
    }
    ?>
     
    </head>
     
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td colspan="2" bgcolor="#CCCCCC"><p>&nbsp;</p>
        <p>&nbsp;</p>      <p>&nbsp;</p></td>
        <td colspan="2" bgcolor="#CCCCCC">&nbsp;</td>
      </tr>
      <tr bgcolor="#000000">
        <td width="2%" bgcolor="#FF0000">&nbsp;</td>
        <td width="16%" bgcolor="#FF0000">&nbsp;</td>
        <td width="2%" rowspan="8">&nbsp;</td>
        <td width="80%">&nbsp;</td>
      </tr>
      <tr bgcolor="#000000">
        <td width="2%" bgcolor="#FF0000">&nbsp;</td>
        <td bgcolor="#FF0000">&nbsp;</td>
        <td width="80%" rowspan="7" valign="top">
        <form action="formulairetest.php" method="post" name="form1" class="Style1" id="form1">
          <p>&nbsp;</p>
          <p class="Style2"><strong>Email</strong>
            <strong>valide</strong>          
      <input name="email" type="text" size="30" maxlength="30" <?php if ($test!=0) {echo 'value="' .$_POST['email']. '" ';}?> />
          <input type="submit" name="envoyer" id="envoyer" value="Créer votre profil" />
          </p>
        </form>    </td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td width="2%">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr bgcolor="#FF0000">
        <td colspan="2">&nbsp;</td>
      </tr>
     
      <tr bgcolor="#FF0000">
        <td colspan="2" align="center">&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    Merci Thomas ça marche !

    Si je saisis une adresse email qui existe dans la base, ça réaffiche effectivement le formulaire avec l'adresse saisie.
    Si l'adresse n'existe pas pas dans la base, ça l'enregistre, mais ça réaffiche le formulaire vierge.
    Comment faire pour qu'au lieu de réafficher le formulaire vierge, il affiche par exemple une page "activation.php" ?

Discussions similaires

  1. réaffichage d'un formulaire avec données
    Par aurel67974 dans le forum Langage
    Réponses: 2
    Dernier message: 19/04/2011, 17h27
  2. Réponses: 4
    Dernier message: 22/01/2011, 16h23
  3. Réponses: 5
    Dernier message: 20/12/2010, 18h16
  4. formulaire avec donnée excel comme paramètre
    Par nicop123456789 dans le forum IHM
    Réponses: 0
    Dernier message: 08/06/2010, 22h36
  5. Création dessin avec données saisies
    Par javajay dans le forum 2D
    Réponses: 5
    Dernier message: 26/10/2005, 02h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo