Probleme BDD

Résolu
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   -  
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a vous tous,
Mon probleme est le suivant, quand sur mon site je clique sur le bouton "valider" (pour ajouter un nouveau membre dans la BDD) la BDD ajoute bien un nouveau membre mais elle ne met que l'ID (se doit etre parce que j'ai mis le champ ID en auto_increment) les autres champ, noms penom etc restent vide.

voila comment fonctionne le site: page HTMl pour saisire les infos, ensuite elle appel une page php qui fait le lien avec BDD:


voila les codes:

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" type="text/css" href="styles.css">
<title>Inscription d'un nouveau membre</title>
</head>

<body>
<div align="center">
<h2>Inscription d'un nouveau membre </h2>

<a>Vous souhaitez créer un compte</a><br>
<a>Pour cela, remplissez les champs suivants :</a><br>

<table>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom"></td>
</tr>
<tr>
<td>Prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr>
<td>Ville:</td>
<td><input type="text" name="ville"></td>
</tr>
<tr>
<td>Code postal:</td>
<td><input type="text" name="code postal"></td>
</tr>
<tr>
<td>Adresse:</td>
<td><input type="text" name="adresse"></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Tel1:</td>
<td><input type="text" name="tel1"></td>
</tr>
<tr>
<td>Tel2:</td>
<td><input type="text" name="tel2"></td>
</tr>
<tr>
<td>ID parain:</td>
<td><input type="text" name="idparain"></td>
</tr>
<tr>
<td>Nom parain:</td>
<td><input type="text" name="nomparain"></td>
</tr>
<tr>
<td>Prenom parain:</td>
<td><input type="text" name="prenomparain"></td>
</tr>

<tr>
<td> Type: </td>
<td>
<select NAME="type">
<option VALUE="membre">Membre
<option VALUE="Membreactif">Membre actif
<option VALUE="membrebureau">Membre du bureau
<option VALUE="membrebureau">Membre du conseil d'administration
<option VALUE="Autre">Autre
</select>
</td>
</tr>


</table>
<br><br>
<form action="http://localhost/AJR/formulaireinscription.php" method="post" name="formulaireinscription.htm">
<input type="submit" name="ValiderInscription" value="Valider">
<input type="submit" name="ValiderInscription" value="Annuler">
</form>

</form>
</div>
<a href="index.php" title="S\'inscrire dans l\'espace">[Retour a l index]</a><br>
</body>
</html>



PHP:
<?php
//*************************************************
//*************************************************
// AJR
// Creation d'un nouvel utilisateur
//*************************************************

// Insertion d un utilisateur ds la BD
//*************************************************

// Inclusion et execution du fichier db.php
require('db.php');
$_SESSION["StatutErreur"] = '';



// Test qur le bouton clique
if($_POST["ValiderInscription"]=='Valider') // Si bouton de validation
{
}

else
{
// Recuperation des valeurs contenues dans les champs de saisie
$nom = htmlspecialchars(addslashes($_POST["nom"] ));
$prenom = htmlspecialchars(addslashes($_POST["prenom"] ));
$ville = htmlspecialchars(addslashes($_POST["ville"] ));
$codepostal = htmlspecialchars(addslashes($_POST["codepostal"] ));
$addresse = htmlspecialchars(addslashes($_POST["addresse"] ));
$email = htmlspecialchars(addslashes($_POST["email"] ));
$tel1 = htmlspecialchars(addslashes($_POST["tel1"] ));
$tel2 = htmlspecialchars(addslashes($_POST["tel2"] ));
$idparain = htmlspecialchars(addslashes($_POST["idparain"] ));
$nomparain = htmlspecialchars(addslashes($_POST["nomparain"] ));
$prenomparain = htmlspecialchars(addslashes($_POST["prenomparain"] ));
$type = htmlspecialchars(addslashes($_POST["type"] ));
}
// Insertion de l utilisateur dans la BD User
mysql_query("Insert Into adherent (nom,prenom,ville,codepostal,addresse,email,tel1,tel2,idparain,nomparain,prenomparain,type) VALUES ('$nom','$prenom','$ville','$codepostal','$addresse','$email','$tel1','$tel2','$idparain','$nomparain','$prenomparain','$type')") or die ("Erreur insert: ".mysql_error());


// Insertion du lien de retour
//=========================================
echo '<a href="index.php" title="S\'inscrire dans l\'espace">[Retour]</a><br>';
// Fermeture de la connexion MySQL
@mysql_close();
header('location: index.php');

voila c'est tout.
Merci pour votre devoument.

9 réponses

clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   75
 
salut,

pour que ton forumlaire soit envoyer en entier, il faut mettre la balise <form> au début du formulaire,
sinon ca n'envoi que le reste.

comme ceci:

<form action="">
<input type="text" name="test" value="">
</form>

et la le formulaire sera envoyer en entier

@+
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
Merci de repondre mais je ne voi pas ou ce que tu dis doit etre changer...
desole je debute le PHP HTML et BDD maintenant en creant ce site.

Apparement ce serai a ce niveau:
<form action="http://localhost/AJR/formulaireinscription.php" method="post" name="formulaireinscription.htm">
<input type="submit" name="ValiderInscription" value="Valider">
<input type="submit" name="ValiderInscription" value="Annuler">
</form>

Mais j'ai l'impression que c'est comme dans ton exemple.
0
forwad11 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Sans êtes un cador de php, si vous ne placez pas les donnez du formulaire que vous espérez voir rempli par vos internautes à l'intérieur des balises <form></form>, il est peu probable que le programme décide de lui-même de transmettre et traiter ses informations.... ;-)
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
En effet merci. Alors j'ai fait les modif suivants: Ajout de <FORM> au debut de la liste des input et ajout de </form> a la fin de la liste, mais ça ne marche toujours pas :/ erf


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" type="text/css" href="styles.css">
<title>Inscription d'un nouveau membre</title>
</head>

<body>
<div align="center">
<h2>Inscription d'un nouveau membre </h2>

<a>Vous souhaitez créer un compte</a><br>
<a>Pour cela, remplissez les champs suivants :</a><br>

<table>
<form>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom"></td>
</tr>
<tr>
<td>Prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr>
<td>Ville:</td>
<td><input type="text" name="ville"></td>
</tr>
<tr>
<td>Code postal:</td>
<td><input type="text" name="codepostal"></td>
</tr>
<tr>
<td>Adresse:</td>
<td><input type="text" name="adresse"></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Tel1:</td>
<td><input type="text" name="tel1"></td>
</tr>
<tr>
<td>Tel2:</td>
<td><input type="text" name="tel2"></td>
</tr>
<tr>
<td>ID parain:</td>
<td><input type="text" name="idparain"></td>
</tr>
<tr>
<td>Nom parain:</td>
<td><input type="text" name="nomparain"></td>
</tr>
<tr>
<td>Prenom parain:</td>
<td><input type="text" name="prenomparain"></td>
</tr>

<tr>
<td> Type: </td>
<td>
<select NAME="type">
<option VALUE="membre">Membre
<option VALUE="Membreactif">Membre actif
<option VALUE="membrebureau">Membre du bureau
<option VALUE="membrebureau">Membre du conseil d'administration
<option VALUE="Autre">Autre
</select>
</td>
</tr>
</form>

</table>
<br><br>
<form action="http://localhost/AJR/formulaireinscription.php" method="post" name="formulaireinscription.htm">
<input type="submit" name="ValiderInscription" value="Valider">
<input type="submit" name="ValiderInscription" value="Annuler">
</form>

</form>
</div>
<a href="index.php" title="S\'inscrire dans l\'espace">[Retour a l index]</a><br>
</body>
</html>
0

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

Posez votre question
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
Alors on m'a dit que les FORM etaient mal fait, voila le nouveau code mais ça me fait le meme probleme qu'au debut a savoir ça me creer le membre mais juste l'ID pas les autres infos sont preente en BDD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" type="text/css" href="styles.css">
<title>Inscription d'un nouveau membre</title>
</head>
<body>
<div align="center">
<h2>Inscription d'un nouveau membre </h2>

<a>Vous souhaitez créer un compte</a><br>
<a>Pour cela, remplissez les champs suivants :</a><br>

<form action="http://localhost/AJR/formulaireinscription.php" method="post" name="formulaireinscription.htm">

<table>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom"></td>
</tr>
<tr>
<td>Prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr>
<td>Ville:</td>
<td><input type="text" name="ville"></td>
</tr>
<tr>
<td>Code postal:</td>
<td><input type="text" name="codepostal"></td>
</tr>
<tr>
<td>Adresse:</td>
<td><input type="text" name="adresse"></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Tel1:</td>
<td><input type="text" name="tel1"></td>
</tr>
<tr>
<td>Tel2:</td>
<td><input type="text" name="tel2"></td>
</tr>
<tr>
<td>ID parain:</td>
<td><input type="text" name="idparain"></td>
</tr>
<tr>
<td>Nom parain:</td>
<td><input type="text" name="nomparain"></td>
</tr>
<tr>
<td>Prenom parain:</td>
<td><input type="text" name="prenomparain"></td>
</tr>
<tr>
<td> Type: </td>
<td>
<select NAME="type">
<option VALUE="membre">Membre
<option VALUE="Membreactif">Membre actif
<option VALUE="membrebureau">Membre du bureau
<option VALUE="membrebureau">Membre du conseil d'administration
<option VALUE="Autre">Autre
</select>
</td>
</tr>

</table>

<br><br>

<input type="submit" name="ValiderInscription" value="Valider">
<input type="submit" name="ValiderInscription" value="Annuler">

</form>

</div>
<a href="index.php" title="S\'inscrire dans l\'espace">[Retour a l index]</a><br>
</body>
0
forwad11
 
Bonsoir,
Si la page du formulaire est celle du traitement, inutile de passer par une url absolue. Ceka donne <form "action "formulaireinscription.php"" ...etc>
Dans ce cas, les données du formulaires reviennent normalement dans votre page.

En premier lieu, le vérifier, à condition d'avoir le serveur php fonctionnant.
dans l'entête de la page, il suffit de faire
<?php echo $_post['nom']."<br>";
..... ainsi de suite pour l'ensemble des paramètres
.....
?>

Généralement, pour écrire une requête on ne mélange par les bas de casse et les capitales: INSERT INTO nomtable ....
Je ne vois pas l'intérêt de ça:
htmlspecialchars(addslashes($_POST["nom"] ));
Moi, je commencerai par la variable brute. Je fais un écho tant que je suis en développement, je confirme et j'avance de cette manière.
Les petits pas sont parfois plus efficaces que les tentatives de grand.

J'espère que ces conseils vont ont été utiles.

Daniel
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
re,

tu récupères les infos si le bouton n'a pas été cliqué… donc quand il est cliqué, tu ne récupères pas les infos !
// Test qur le bouton clique
if($_POST["ValiderInscription"]=='Valider') // Si bouton de validation
{
}

else
{
// Recuperation des valeurs contenues dans les champs de saisie
$nom = htmlspecialchars(addslashes($_POST["nom"] ));
$prenom = htmlspecialchars(addslashes($_POST["prenom"] ));
$ville = htmlspecialchars(addslashes($_POST["ville"] ));
$codepostal = htmlspecialchars(addslashes($_POST["codepostal"] ));
$addresse = htmlspecialchars(addslashes($_POST["addresse"] ));
$email = htmlspecialchars(addslashes($_POST["email"] ));
$tel1 = htmlspecialchars(addslashes($_POST["tel1"] ));
$tel2 = htmlspecialchars(addslashes($_POST["tel2"] ));
$idparain = htmlspecialchars(addslashes($_POST["idparain"] ));
$nomparain = htmlspecialchars(addslashes($_POST["nomparain"] ));
$prenomparain = htmlspecialchars(addslashes($_POST["prenomparain"] ));
$type = htmlspecialchars(addslashes($_POST["type"] ));
} 

mais le serveur aurait dû te renvoyer une erreur.
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
Donc je doit enlever le else?
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
NIQUEL!!!!!! Merci beacoup!!! j'ai juste enlevé le else MERCI BEAUCOUP
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
you're welcome !

@ plus
0