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

Résolu/Fermé
maroosoft Messages postés 65 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 7 juillet 2010 - 13 janv. 2008 à 13:50
maroosoft Messages postés 65 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 7 juillet 2010 - 13 janv. 2008 à 22:55
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>
---------------------------------------***********************************************---------------------------------
A voir également:

6 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
13 janv. 2008 à 14:35
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
maroosoft Messages postés 65 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 7 juillet 2010 94
13 janv. 2008 à 14:44
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
maroosoft Messages postés 65 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 7 juillet 2010 94
13 janv. 2008 à 14:47
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
maroosoft Messages postés 65 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 7 juillet 2010 94
13 janv. 2008 à 14:59
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
13 janv. 2008 à 15:24
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
maroosoft Messages postés 65 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 7 juillet 2010 94
13 janv. 2008 à 22:55
merci pour votre aide :-D
0