PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 27-09-2011 10:31:17

lordgodgiven
Membre
Inscription : 27-09-2011
Messages : 3

Enregistrement des données d'un formulaire(en mode feuille de données)

Bonjour,

j'ai un formulaire en mode feuille de données et j'aimerais enregistrer toutes les lignes en un seul clic mais ça ne marche pas, c'est juste un enregistrement qui se retrouve dans la base de données. Voici le du formulaire et du fichier de traitement php

Code source formulaire

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <center>
        <form action="traitement.php" method="POST" >
            <table border="0">
                <thead>
                    <tr>
                        <th bgcolor="grey">N° d'inscription</th>
                        <th bgcolor="grey">Noms</th>
                        <th bgcolor="grey">Prénoms</th>
                        <th bgcolor="grey">Date de naissance</th>
                        <th bgcolor="grey">Lieu de naissance</th>
                        <th bgcolor="grey">Adresse</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><input type="text" name="Inscrit" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="NumInscript" value="" size="20" /></td>
                        <td><input type="text" name="NomElect" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElect" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect" value="" size="20" /></td>
                    </tr>
                </tbody>
            </table>
            <br />
           
            <input type="submit" value="Enregistrer" />
       
       
       
        </form>
        </center>
    </body>
</html>

Code source fichier traitement

<?php

// On récupère les champs du formulaire
// On commence par récupérer les champs
if(isset($_POST['Inscrit']))      $Inscrit=$_POST['Inscrit'];
else      $Inscript="";

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

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

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

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

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

// On vérifie si les champs sont vides
if(empty($Inscrit) OR empty($NomElect) OR empty($PrenomElect) OR empty($DateNaisElect) OR empty($LieuNaisElect) or empty ($AdresseElect))
    {
    echo '<font color="red">Attention, aucun champs ne doit vide !</font>';
    }
// Aucun champ n'est vide, on peut enregistrer dans la table
else    
    {
    $db = mysql_connect('localhost', 'root', '');  // connexion à la base
    mysql_select_db('test',$db);                  // sélection de la base
   
    // on regarde si le numéro d'inscription existe déjà
    $sql = "select Num from electeurs where Inscrit='$Inscrit'";
    $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)  // Le numéro d'inscription existe déjà, on affiche un message d'erreur
        {
        echo '<font color="red">Désolé, mais cet electeur existe déjà dans notre base.</font>';
        }
    else  // Le numéro d'inscription n'existe pas, on insère les informations du formulaire dans la table
        {  
        $sql = "INSERT INTO electeurs(Num, Inscrit, NomElect, PrenomElect, DateNaisElect, LieuNaisElect, AdresseElect) VALUES('','$Inscrit','$NomElect','$PrenomElect','$DateNaisElect','$LieuNaisElect','$AdresseElect')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
       
        // on affiche le résultat pour le visiteur
        echo 'Electeurs enregistrés.';
        }
    mysql_close();  // on ferme la connexion
    }  
?>

Je suis coincé

Hors ligne

#2 27-09-2011 11:07:56

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Enregistrement des données d'un formulaire(en mode feuille de données)

Saluton,
Normal, si tu fais un var_dump($_POST) dans ton traitement.php, tu comprendras ce que ce dernier reçoit d'HTTP.
Par contre, si tu déclares tous tes contrôles de saisie comme ceci

<tr>
                        <td><input type="text" name="Inscrit[]" value="" size="20" /></td>
                        <td><input type="text" name="NomElect[]" value="" size="20" /></td>
                        <td><input type="text" name="PrenomElect[]" value="" size="20" /></td>
                        <td><input type="text" name="DateNaisElect[]" value="" size="20" /></td>
                        <td><input type="text" name="LieuNaisElec[]t" value="" size="20" /></td>
                        <td><input type="text" name="AdresseElect[]" value="" size="20" /></td>
                    </tr>

tu verras la différence.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 27-09-2011 12:13:20

lordgodgiven
Membre
Inscription : 27-09-2011
Messages : 3

Re : Enregistrement des données d'un formulaire(en mode feuille de données)

Bonjour,

Merci pour la réponse mais sincèrement je ne comprend rien du tout, soit plus explicite car tu es énigmatique et franchement je ne vais pas  m'en sortir

Merci

Hors ligne

#4 27-09-2011 12:56:00

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Enregistrement des données d'un formulaire(en mode feuille de données)

Avant de râler fais donc ce que je t'ai dit.
A savoir : tu ajoutes un var_dump($_POST) dans ton traitement.php et tu regardes ce que ça donne.
Ensuite tu fais les modifications que je t'ai montrées dans ton code HTML et tu relances le formulaire puis tu compares le résultat du var_dump($_POST) avec ce formulaire nouvelle version.
Ça devrait t'éclairer.
Et si c'est pas le cas, ben que veux-tu que je te dise, retourne faire des pâtés dans ton bac à sable.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums