Insertion dans la base de donnees Mysql

Fermé
methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010 - 18 juin 2008 à 19:01
methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010 - 19 juin 2008 à 21:08
Bonjour,
j'aimerai inserer ça dans ma base de donnes a partir d'un formulaire mais il affiche les donnees vides lorsque je consulte la base aidez s'il vous plait

<?php
mysql_connect("localhost","root","");
mysql_select_db("enreg");
mysql_query("INSERT INTO user VALUES ('', '$pseudo', '$pass', '$user', '$userP', '$adr','$age', '$email', '$msn', '$commentaire')");
mysql_close();
?>
<form method="post" action="lejournal.php" >
<fieldset><legend>Profil</legend>
veuillez entrer vos coordonnées:<br>
<b>Pseudo:</b>          <input type="text" size=15 name="pseudo"/><br>
<b>mot de Passe:</b><input type="password" size=15 name="pass"><br>
Pour plus de securité inserez plus de 4 lettres <br>
<b>Resaisissez :</b><input type="password" size=15 name="pass1"/></fieldset>
<fieldset><legend>Information</legend>
<b>NOM:</b>        <input type="text" size=15 Name="user"/><br>
<b>PRENOM: </b> <input type="text" size=15 Name="userP"/><br>
<b>ADRESSE: </b>  <input type="text" size=25 Name="adr"/><br>
<b>E-mail:</b>          <input type="text" size=25 name="email"/><br>
<b>MSN:</b>            <input type="text" size=25 name="msn"/><br>
<b>Choisissez votre tranche d'age:</b><br>
<select name="age">
<option value="18">Entre 18 et 20 ans</option>
<option value="20">Entre 20 et 25 ans </option>
<option value="25">Entre 25 et 30 ans </option>
<option value="plus">Entre 30 et plus</option></select></fieldset>
<tr><td>
<b>Commentaire:</b><br>
Entrez un commentaire<br><center>
<textarea name="commentaire" rows=5 cols=30>
</textarea> <br><br>
<input type="submit" value="continuer"/>     
<input type="reset" value="annuler"><br><br>
</form>

3 réponses

macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
18 juin 2008 à 19:08
Bonjour.

Il faut mettre la requête dans la page lejournal.php
Et récupérer les variables passées dans le formulaire.

lejournal.php :
// On initialise la variable
$pseudo = "";
// On vérifie que le champ a bien été renseigné
// Et on assigne la valeur passée par le formulaire
if (isset($_POST['pseudo'])) {
   $pseudo = $_POST['pseudo'];
}
// Il n'y a plus qu'à faire la même chose pour chaquevaleur passée dans le formulaire
// Sinon, fais une fonction AssignerVariable qui fait les vérifications/assignations
// Et appelle la pour chaque variable
// Il faudrait aussi sécuriser la chose...

// Maintenant, on peut passer la requête
// Le or die sert à afficher un message d'erreur explicite, au cas où
mysql_connect("localhost","root","") or die ('Erreur MySQL '.mysql_error());
mysql_select_db("enreg") or die ('Erreur de connexion à la base '.mysql_error());
mysql_query("INSERT INTO user VALUES ('', '$pseudo', '$pass', '$user', '$userP', '$adr','$age', '$email', '$msn', '$commentaire')")  or die ('Erreur de requête '.mysql_error());;
mysql_close();
0
kaopimp Messages postés 44 Date d'inscription lundi 25 juin 2007 Statut Membre Dernière intervention 8 juillet 2008 35
18 juin 2008 à 19:09
je suppose que tu recupere tes paramètres dans les $variables
alors apres j'pense que ton premier champ est un id auto_ingrement et alors essai ca

mysql_query("INSERT INTO user VALUES ('null', '$pseudo', '$pass', '$user', '$userP', '$adr','$age', '$email', '$msn', '$commentaire')");
0
methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010 4
18 juin 2008 à 19:22
excusez moi mais j'ai utilisé tous les deux methodes mais elle est toujours vide
juste le id mais les autres champs sont invisibles
0
methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010 4 > methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010
18 juin 2008 à 19:38
je vous ajoute le code pour que vous puissiez voir
<?php

$pseudo = "";
if (isset($_POST['pseudo'])) {
$pseudo = $_POST['pseudo'];
$pseudo = mysql_real_escape_string($_POST['pseudo']);
}
$pass= "";
if (isset($_POST['pass'])) {
$pass = $_POST['pass'];
$pass = mysql_real_escape_string($_POST['pass']);
}
$user = "";
if (isset($_POST['user'])) {
$pseudo = $_POST['user'];
$pseudo = mysql_real_escape_string($_POST['user']);
}
$userP = "";
if (isset($_POST['userP'])) {
$pseudo = $_POST['userP'];
$pseudo = mysql_real_escape_string($_POST['userP']);
}
$adr = "";
if (isset($_POST['adr'])) {
$pseudo = $_POST['adr'];
$pseudo = mysql_real_escape_string($_POST['adr']);
}
$age = "";
if (isset($_POST['age'])) {
$pseudo = $_POST['age'];
$pseudo = mysql_real_escape_string($_POST['age']);
}
$email = "";
if (isset($_POST['email'])) {
$pseudo = $_POST['email'];
$pseudo = mysql_real_escape_string($_POST['email']);
}
$msn = "";
if (isset($_POST['msn'])) {
$pseudo = $_POST['msn'];
$pseudo = mysql_real_escape_string($_POST['msn']);
}
$commentaire = "";
if (isset($_POST['commentaire'])) {
$pseudo = $_POST['commentaire'];
$pseudo = mysql_real_escape_string($_POST['commentaire']);
}
mysql_connect("localhost","root","") or die ('Erreur MySQL '.mysql_error());
mysql_select_db("enreg") or die ('Erreur de connexion à la base '.mysql_error());
mysql_query("INSERT INTO user VALUES ('null', '$pseudo', '$pass', '$user', '$userP', '$adr','$age', '$email', '$msn', '$commentaire')");
mysql_close();
?>
0
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89 > methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010
18 juin 2008 à 19:56
- Vérifie que tu récupères bien quelque chose en mettant des echo pour tes variables :
$pseudo = "";
if (isset($_POST['pseudo'])) {
// Je commente la ligne qui suit : tu fais deux affectations à la suite !
//$pseudo = $_POST['pseudo'];
$pseudo = mysql_real_escape_string($_POST['pseudo']);
}
echo 'pseudo = '.$pseudo.'<br />';

Fais un echo de ta requête, aussi.
0
methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010 4
18 juin 2008 à 20:11
le code que vous m'avez donné permet d'afficher les donnees entrees par l'utilisateur dans la page lejournal.php ce que je voudrai c'est juste les voir dans ma base de donnees c'est comme si les variables que j'insere ne sont prises en compte . voila le probleme
0
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
19 juin 2008 à 13:03
Tu as bien vérifié que tu récupères bien tes valeurs ?

mysql_connect("localhost","root","") or die ('Erreur MySQL '.mysql_error());
mysql_select_db("enreg") or die ('Erreur de connexion à la base '.mysql_error());
$requete = "INSERT INTO user VALUES ('null', '$pseudo', '$pass', '$user', '$userP', '$adr','$age', '$email', '$msn', '$commentaire')";
echo $requete.'<br />';
mysql_query($requete) or die ('Erreur de requete <br />'.$requete.'<br />'.mysql_error());
 

Ca t'affichera la requête, essaye la dans phpMyAdmin.
Ou au pire, tu auras le message d'erreur correspondant...
0
methiou Messages postés 43 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 19 juin 2010 4 > macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008
19 juin 2008 à 21:08
bonjour voila j'ai executé ce que vous m'avez dit
il marche je peux maintenant inserer les donnees à partir de la page enregistrement.php mais c'est lors que je l'envoie dans la page lejournal.php qui ne les insere pas
0