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

Résolu
maroosoft Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   -  
maroosoft Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   -
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. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
  2. maroosoft Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   94
     
    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
  3. maroosoft Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   94
     
    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
  4. maroosoft Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   94
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
  7. maroosoft Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   94
     
    merci pour votre aide :-D
    0