[php]Probmlème d'envoie de données

Résolu
Bonjour,
je suis entrain de réaliser un site web ,l'une de ces pages contient un formulaire.
Malheureusement,les données ne "veulent" pas êtres envoyées a leurs tables :p.
j'ai cherché partout mais j'ai pas trouvé l'erreur!
Aidez moi s'il vous plaît.
Et merci beaucoup

voilà une partie du code concernant cette page.
-----------------------***********************************---------------------------------------
<!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=iso-8859-1" />
<title>Document sans titre</title>
</head>
<?php

switch(isset($_POST['action']))
{

// INSERTION DANS LA BASE
case "inserer":

// déclaration de quelques variables
$host = "localhost";
$user = "root";
$pass = "";
$bdd = "administration";
$table = "citoyen";

// connection avec MySQL
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données"); // Le @ indique à php de ne pas afficher de message d'erreur
@mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");

// affichage sélection
/* echo '<p>Bonjour ' . htmlentities($_POST['nom']) . ', votre email est ' . htmlentities($_POST['prenom']) . '</p>';*/

// stockage dans la bdd
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$date= $_POST['date'];
$sexe= $_POST['sexe'];
$ad = $_POST['ad'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];
$login = $_POST['login'];
$pass=$_POST['pass1'];

if(!get_magic_quotes_gpc())
{
// si php n'est pas configuré pour le faire automatiquement, on ajoute des \ devant les '
// deux raisons : autoriser d'ajouter des ', et sécuriser notre requete
// on y reviendra dans un prochain tutorial
$nom = addslashes($nom);
$prenom= addslashes($prenom);
$date= addslashes($date);
$sexe= addslashes($sexe);
$ad = addslashes($ad);
$tel= addslashes($tel);
$mail= addslashes($mail);
$login= addslashes($login);
$pass= addslashes($pass);
}
$sql = "INSERT INTO " . $table . "(ID_CITOYEN,NOM_CITOYEN, PRENOM_CITOYEN,DATE_NAISS,ADRESSE,E_MAIL,NUM_TEL,MOT_DE_PASSE_CI,LOGIN_CI,SEXE_CI) VALUES('','" . $nom . "', '" . $prenom . "','" . $date. "','" . $sexe . "','" . $ad . "','" . $tel. "','" . $mail . "','" . $login. "','" . $pass. "')";
$res = mysql_query($sql);

// déconnection avec MySQL
mysql_close();

break;

// AFFICHAGE FORMULAIRE HTML
default:

?>

<fieldset id="sejour">

<legend>Veuillez remplir le formulaire suivant: </legend>
<table width="303" border="1">
<tr>
<td width="142" class="Style9">Nom</td>
<td width="145">
<form id="action" name="action" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="action" value="inserer" />
<label>
<input name="nom" type="text" id="nom" />
</label>
</td>
</tr>
<tr>
<td class="Style9">Prenom</td>
<td>
<label>
<input name="prenom" type="text" id="prenom" />
</label>
</td>
</tr>
<tr>
<td class="Style9">Date de naissance</td>
<td>
<label>
<input name="date" type="text" id="date" />
</label>
</td>
</tr>
<tr>
<td class="Style9">Sexe</td>
<td>
<table width="145">
<tr>
<td><label>
<input type="radio" name="sexe" value="m" />
Masculin</label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="sexe" value="f" />
Feminin</label></td>
</tr>
</table>

</td>
</tr>
<tr>
<td class="Style9">adresse</td>
<td>
<label>
<input name="ad" type="text" id="ad" />
</label>
</td>
</tr>
<tr>
<td class="Style9">numero teleophone </td>
<td>
<label>
<input name="tel" type="text" id="tel" />
</label>
</td>
</tr>
<tr>
<td class="Style9">E-Mail</td>
<td>
<label>
<input name="mail" type="text" id="mail" />
</label>
</td>
</tr>
<tr>
<td class="Style9">Login</td>
<td>
<label>
<input name="login" type="text" id="login" />
</label>

</td>
</tr>
<tr>
<td class="Style9">Mot de passe </td>
<td>
<label>
<input name="pass1" type="text" id="pass1" />
</label>
</form>
</td>
</tr>
<tr>
<td class="Style9">Confirmer mot de passe</td>
<td>
<label>
<input name="pass2" type="text" id="pass2" />
</label>

</td>
</tr>
</table>

<label>
<input type="submit" name="Submit" value="S'eregistrer" />
</label>

</form>
<p> </p>
</fieldset>

<?php

break;

}

?>
<body>
</body>
</html>
---------------------------------------***********************************************---------------------------------
Configuration: Windows XP
Firefox 2.0.0.11

6 réponses

  1. Contributeur
    salut,

    donne nous plus d'infos !

    est-ce que tu as un message d'erreur ?

    qu'est-ce qui fonctionne, qu'est-ce qui ne fonctionne pas ?

    et pour mettre en forme le code tu peux utiliser ce bouton.
    0
    1. en fait, il n y a pas un message d'erreur qui se produit,mais aucune donnée n'est enregistrée dans la table (citoyen)!!!
      0
      1. voilà une partie du code concernant cette page(mise en forme pour être bien claire!)
        -----------------------***********************************-------------------------------- -------
        <!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=iso-8859-1" />
        <title>Document sans titre</title>
        </head>
        <?php
        
        switch(isset($_POST['action']))
        {
        
        // INSERTION DANS LA BASE
        case "inserer":
        
        // déclaration de quelques variables
        $host = "localhost";
        $user = "root";
        $pass = "";
        $bdd = "administration";
        $table = "citoyen";
        
        // connection avec MySQL
        @mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données"); // Le @ indique à php de ne pas afficher de message d'erreur
        @mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
        
        // affichage sélection
        /* echo '<p>Bonjour ' . htmlentities($_POST['nom']) . ', votre email est ' . htmlentities($_POST['prenom']) . '</p>';*/
        
        // stockage dans la bdd
        $nom = $_POST['nom'];
        $prenom = $_POST['prenom'];
        $date= $_POST['date'];
        $sexe= $_POST['sexe'];
        $ad = $_POST['ad'];
        $tel = $_POST['tel'];
        $mail = $_POST['mail'];
        $login = $_POST['login'];
        $pass=$_POST['pass1'];
        
        
        if(!get_magic_quotes_gpc())
        {
        // si php n'est pas configuré pour le faire automatiquement, on ajoute des \ devant les '
        // deux raisons : autoriser d'ajouter des ', et sécuriser notre requete
        // on y reviendra dans un prochain tutorial
        $nom = addslashes($nom);
        $prenom= addslashes($prenom);
        $date= addslashes($date);
        $sexe= addslashes($sexe);
        $ad = addslashes($ad);
        $tel= addslashes($tel);
        $mail= addslashes($mail);
        $login= addslashes($login);
        $pass= addslashes($pass);
        }
        $sql = "INSERT INTO " . $table . "(ID_CITOYEN,NOM_CITOYEN, PRENOM_CITOYEN,DATE_NAISS,ADRESSE,E_MAIL,NUM_TEL,MOT_DE_PASSE_CI,LOGIN_CI,SEXE_CI) VALUES('','" . $nom . "', '" . $prenom . "','" . $date. "','" . $sexe . "','" . $ad . "','" . $tel. "','" . $mail . "','" . $login. "','" . $pass. "')";
        $res = mysql_query($sql);
        
        // déconnection avec MySQL
        mysql_close();
        
        break;
        
        // AFFICHAGE FORMULAIRE HTML
        default:
        
        ?>
        
        
        
        
        <fieldset id="sejour">
        
        <legend>Veuillez remplir le formulaire suivant: </legend>
        <table width="303" border="1">
        <tr>
        <td width="142" class="Style9">Nom</td>
        <td width="145">
        <form id="action" name="action" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <input type="hidden" name="action" value="inserer" />
        <label>
        <input name="nom" type="text" id="nom" />
        </label>
        </td>
        </tr>
        <tr>
        <td class="Style9">Prenom</td>
        <td>
        <label>
        <input name="prenom" type="text" id="prenom" />
        </label>
        </td>
        </tr>
        <tr>
        <td class="Style9">Date de naissance</td>
        <td>
        <label>
        <input name="date" type="text" id="date" />
        </label>
        </td>
        </tr>
        <tr>
        <td class="Style9">Sexe</td>
        <td>
        <table width="145">
        <tr>
        <td><label>
        <input type="radio" name="sexe" value="m" />
        Masculin</label></td>
        </tr>
        <tr>
        <td><label>
        <input type="radio" name="sexe" value="f" />
        Feminin</label></td>
        </tr>
        </table>
        
        </td>
        </tr>
        <tr>
        <td class="Style9">adresse</td>
        <td>
        <label>
        <input name="ad" type="text" id="ad" />
        </label>
        </td>
        </tr>
        <tr>
        <td class="Style9">numero teleophone </td>
        <td>
        <label>
        <input name="tel" type="text" id="tel" />
        </label>
        </td>
        </tr>
        <tr>
        <td class="Style9">E-Mail</td>
        <td>
        <label>
        <input name="mail" type="text" id="mail" />
        </label>
        </td>
        </tr>
        <tr>
        <td class="Style9">Login</td>
        <td>
        <label>
        <input name="login" type="text" id="login" />
        </label>
        
        </td>
        </tr>
        <tr>
        <td class="Style9">Mot de passe </td>
        <td>
        <label>
        <input name="pass1" type="text" id="pass1" />
        </label>
        </form>
        </td>
        </tr>
        <tr>
        <td class="Style9">Confirmer mot de passe</td>
        <td>
        <label>
        <input name="pass2" type="text" id="pass2" />
        </label>
        
        </td>
        </tr>
        </table>
        
        <label>
        <input type="submit" name="Submit" value="S'eregistrer" />
        </label>
        
        </form>
        <p> </p>
        </fieldset>
        
        <?php
        
        break;
        
        }
        
        ?>
        <body>
        </body>
        </html>

        ---------------------------------------***********************************************---- -----------------------------
        0
        1. c'est le code sql de la création de la table:CITOYEN

          LE NOM DE LA BASE DE DONNEE:administration
          *************------------------------------------*****************

          create table CITOYEN
          (
          ID_CITOYEN int(50) NOT NULL not null AUTO_INCREMENT,
          NOM_CITOYEN char(20),
          PRENOM_CITOYEN char(20),
          DATE_NAISS date,
          ADRESSE varchar(100),
          E_MAIL varchar(20),
          NUM_TEL bigint,
          MOT_DE_PASSE_CI varchar(20),
          LOGIN_CI varchar(30),
          SEXE_CI char(1),
          primary key (ID_CITOYEN)
          );
          0
          1. Contributeur
            bon ben on va y aller à l'aveugle !

            je suis pas convaincu par
            switch(isset($_POST['action']))

            la fonction va retourner un booléen et à la suite tu teste la valeur sur une chaîne.
            case "inserer":

            moralité, il ne rentre peut être pas dans le premier sandwich.

            essaie de le remplacer par :
            if( isset($_POST['action']) && isset($_POST['action']) == 'inserer' )

            et le 'default:' par 'else'.
            0
            1. merci pour votre aide :-D
              0