Probleme Alimentation Table MySql

Bonjour,

J'ai crée une page inscription pour mon site !! Voici le code du formulaire :

<html>
<form method="POST" action="add.php">
<center>
<input type="text" name="Adresse_Mail" size="50" value="Adresse Mail" maxlength="50"> <br>
<input type="password" name="password" size="10" maxlength="10"><br>
<input type="text" name="Nom" size="30" value="Nom" maxlength="730"> <br>
<input type="text" name="Prenom" size="30" value="Prenom" maxlength="30"> <br>
<input type="integer" name="Code_Postal" size="5" value="Code Postal" maxlength="5"> <br>
<input type="integer" name="Tel_Fix" size="10" value="Telephone Fixe" maxlength="10"><br>
<input type="submit" value="Envoyer" name="S'inscrire">
</center>
</form>
</html>

Et voici le code du programme PHP :
<?php
// On commence par récupérer les champs
if(isset($_POST['Adresse_Mail'])) $nom=$_POST['Adresse_Mail'];
else $Adresse_Mail="";

if(isset($_POST['Password'])) $prenom=$_POST['Password'];
else $Password="";

if(isset($_POST['Nom'])) $email=$_POST['Nom'];
else $Nom="";

if(isset($_POST['Prenom'])) $icq=$_POST['Prenom'];
else $Prenom="";

if(isset($_POST['Code_Postal'])) $titre=$_POST['Code_Postal'];
else $Code_Postal="";

if(isset($_POST['Tel_Fix'])) $url=$_POST['Tel_Fix'];
else $Tel_Fix="";

// On vérifie si les champs sont vides
if (empty($Adresse_Mail) OR empty($Password) OR empty($Nom) OR empty($Prenom) OR empty($Code_Postal))
{
echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else

{
// connexion à la base
$db = mysql_connect('localhost', 'root', 'root') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('GitesVertige',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO MEMBRE(Adresse_Mail, Password, Nom, Prenom, Code_Postal, Tel_Fix) VALUES('$Adresse_Mail','$Password','$Nom','$Prenom','$Code_Postal','$Tel_Fix')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
}
?>

Voila quand je rentre mes données j'ai tjs mon message d'erreur qui apparait :
echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>';

Quelqu'un peut m'aider svp
Configuration: Windows XP
Firefox 3.0.2

8 réponses

  1. Contributeur
    attention, des fois tu as tes variables utilisées avec une minuscule, des fois avec majuscules... ca risque pas de fonctionner:

    if(isset($_POST['Password'])) $prenom=$_POST['Password'];
    OR empty($Prenom) OR

    et j'ai pas bien compris la logique avec les prenoms= adresse mail, etc... (après ton commentaire "on récupère les champs"... tu mélanges tout !

    Et voici le code du programme PHP :
    <?php
    // On commence par récupérer les champs
    if(isset($_POST['Adresse_Mail'])) $nom=$_POST['Adresse_Mail'];
    else $Adresse_Mail="";

    if(isset($_POST['Password'])) $prenom=$_POST['Password'];
    else $Password="";

    if(isset($_POST['Nom'])) $email=$_POST['Nom'];
    else $Nom="";

    if(isset($_POST['Prenom'])) $icq=$_POST['Prenom'];
    else $Prenom="";

    if(isset($_POST['Code_Postal'])) $titre=$_POST['Code_Postal'];
    else $Code_Postal="";

    if(isset($_POST['Tel_Fix'])) $url=$_POST['Tel_Fix'];
    else $Tel_Fix="";
    1. if (empty($Adresse_Mail) OR empty($Password) OR empty($Nom) OR empty($Prenom) OR empty($Code_Postal))
      {
      echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>';
      }

      il ne faut pas utiliser "OR" mais "⎮⎮ " et fait attention a tes parenthèses

      if((empty($Adresse_Mail) ) ⎮⎮(empty($Password)))
      1. Merci mais voici j'ai changé mon formulaire et mon code php :

        Voila ce que ca donne :

        Formulaire :

        <html>
        <form method="POST" action="add.php">
        <center>
        Adresse Mail : <input type="text" name="mail" size="50" maxlength="50">
        <br> Mot De Passe : <input type="password" name="pass" size="30" maxlength="30">
        <br> Nom : <input type="text" name="nom" size="30" maxlength="30">
        <br> Prenom : <input type="text" name="prenom" size="30" maxlength="30">
        <br> Code Postal: <input type="text" name="cp" size="5" maxlength="5">
        <br> Telephone Fixe : <input type="text" name="tel" size="30" maxlength="30">
        <input type="submit" value="Envoyer" name="envoyer">
        </center>
        </form>
        </html>

        Code Php :

        <?php
        // On commence par récupérer les champs
        if(isset($_POST['mail'])) $mail=$_POST['mail'];
        else $mail="";

        if(isset($_POST['pass'])) $prenom=$_POST['pass'];
        else $pass="";

        if(isset($_POST['nom'])) $email=$_POST['nom'];
        else $nom="";

        if(isset($_POST['prenom'])) $icq=$_POST['prenom'];
        else $prenom="";

        if(isset($_POST['cp'])) $titre=$_POST['cp'];
        else $cp="";

        if(isset($_POST['tel'])) $url=$_POST['tel'];
        else $tel="";
        // On vérifie si les champs sont vides
        if(empty($mail) || empty($pass) || empty($nom) || empty($prenom) || empty($cp))
        {
        echo '<font color="red">Attention, seul le champs <b>Telephone fixe</b> peut rester vide !</font>';
        }
        // Aucun champ n'est vide, on peut enregistrer dans la table
        else
        {
        $db = mysql_connect('localhost', 'root', 'root'); // connexion à la base
        mysql_select_db('GitesVertige',$db); // sélection de la base

        // on regarde si l'url existe déjà
        $sql = "SELECT id FROM infos_tbl WHERE mail='$mail'";
        $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

        // on compte le nombre de résultats
        $res = mysql_num_rows($req);

        if($res!=0) // l'url existe déjà, on affiche un message d'erreur
        {
        echo '<font color="red">Désolé, mais cette URL existe déjà dans notre base.</font>';
        }
        else // L'url n'existe pas, on insère les informations du formulaire dans la table
        {
        $sql = "INSERT INTO infos_tbl(id, mmail, pass, nom, prenom, cp, tel) VALUES('','$mail','$pass','$nom','$prenom','$cp','$tel')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

        // on affiche le résultat pour le visiteur
        echo 'Vos infos on été ajoutées.';
        }
        mysql_close(); // on ferme la connexion
        }
        ?>
        1. Contributeur
          sauf si je suis devenu complètement débile, tu as des grosses erreurs: tu as fait ca:
          // On commence par récupérer les champs

          $prenom=$_POST['pass'];
          $email=$_POST['nom'];
          $icq=$_POST['prenom'];
          $titre=$_POST['cp'];
          $url=$_POST['tel'];

          et ca ne peut franchement pas marcher !!!!

          tu as corrigé les majuscules, c'est déja ca....
        2. @Nabla'sDésolé nabla's c'est moi qui est complètement débile!!!!!!
        3. Contributeur
          @Boulitchles erreurs de copier coller ca arrive quand on est faitgué.. et on est telement sur de son code qu'on voit pas des erreurs grosses comme ca ! ca m'arrive souvent ...

          es ce que ca fonctionne mieux maintenant que tu as corrigé ?
      2. JE te dirais la reponse lundi, car je me sers de ce programme au lycée pour un projet pour le bac
        1. J'ai voulu tester chez moi, mais je n'arrive pas a me connecter à la base!!! Comment connaitre mon login et mon mot de passe sur Easy php?
          1. Contributeur
            par défaut:
            login: root
            et il n'y a pas de password
        2. Voici les messages d'erreur qui apparaisents :

          Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in C:\Users\Bastien\Documents\Easyphp\www\add.php on line 28

          Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Users\Bastien\Documents\Easyphp\www\add.php on line 29

          Warning: mysql_query() [function.mysql-query]: Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in C:\Users\Bastien\Documents\Easyphp\www\add.php on line 33

          Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Users\Bastien\Documents\Easyphp\www\add.php on line 33
          Erreur SQL !SELECT id FROM infos_tbl WHERE mail='boulon73sth@hotmail.fr'
          Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON)
          1. Contributeur
            ben tu as mis un mot de passe à ta base mysql ... tu ne peux plus te connecter si tu le connais pas
            1. Je n'ai mis aucun mot de passe je l'ai installé a 13heures...
          2. Contributeur
            ben.. essayes d'installer wampserver a la place, ou une version 2 de easyphp....
            (désinstalles tout avant, surtout mysql !
            1. Ok merci de ton aide ;)