PHP/MySQL
kusanagi79
Messages postés
583
Date d'inscription
Statut
Membre
Dernière intervention
-
kusanagi79 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
kusanagi79 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
Salut, Est ce que quelqu'un pourrait m'aider, J'ai créer un formulaire en php ,mais lorsque ;après avoir entré les champs du formulaire et cliquer sur enregistrer ,la page du formulaire se réaffiche sans enregistrer les champs de mon formulaire dans ma base MySQL.
Quelqu'un auait-il une solution? Merci d'avance
voici mon code php:
<?
if (isset($_POST['enregistrer'])){
//récupération et traitement des valeurs :
$Artist=$_POST['Artist'];
$Titre=$_POST['Titre'];
$Annee=$_POST['Annee'];
$Genre=$_POST['Genre'];
//connexion à la base de donnée
mysql_connect("localhost","root","") or die ("Erreur de connexion");
//Sélection de la base de donnée
mysql_select_db("albums") or die("Erreur de sélection de la base de donnée");
// envoi à la base de données
// on utilise l'instruction insert into pour ajouter les nouvelles données
$req="INSERT INTO music ( `Artist` , `Titre` , `Annee` , `Genre` )
values('$Artist', '$Titre', '$Annee','$Genre')";
$result=mysql_query($req) or die (mysql_error());
echo "Données insérées";
mysql_close(); // Pour fermer l'accès
}
?>
Quelqu'un auait-il une solution? Merci d'avance
voici mon code php:
<?
if (isset($_POST['enregistrer'])){
//récupération et traitement des valeurs :
$Artist=$_POST['Artist'];
$Titre=$_POST['Titre'];
$Annee=$_POST['Annee'];
$Genre=$_POST['Genre'];
//connexion à la base de donnée
mysql_connect("localhost","root","") or die ("Erreur de connexion");
//Sélection de la base de donnée
mysql_select_db("albums") or die("Erreur de sélection de la base de donnée");
// envoi à la base de données
// on utilise l'instruction insert into pour ajouter les nouvelles données
$req="INSERT INTO music ( `Artist` , `Titre` , `Annee` , `Genre` )
values('$Artist', '$Titre', '$Annee','$Genre')";
$result=mysql_query($req) or die (mysql_error());
echo "Données insérées";
mysql_close(); // Pour fermer l'accès
}
?>
Configuration: Windows XP Internet Explorer 7.0
5 réponses
-
bonojour, il te faut un point virgule à ta requete sql.
$req="INSERT INTO music ( `Artist` , `Titre` , `Annee` , `Genre` )
values('$Artist', '$Titre', '$Annee','$Genre')";
change en
$req="INSERT INTO music ( `Artist` , `Titre` , `Annee` , `Genre` )
values('$Artist', '$Titre', '$Annee','$Genre');";
et en faisant ton code propre en concaténation
$req="INSERT INTO music ( `Artist` , `Titre` , `Annee` , `Genre` )
values(' ".$Artist." ', ' ".$Titre." ', ' ".$Annee." ',' ".$Genre." ');";
je sais ya beaucoup de guillements et ça induit en erreur.
-
Salut ,j'ai essayé de faire ce que tu as dit,mais j'ai toujours le meme problème!!!
peut etre que l'erreur viens du formulaire:
<form method="post" action="">
<table border=1 align=center>
<tr>
<td colspan=2>Merci de m'indiquer :</td>
</tr>
<tr>
<td width="272">Artist:
<input type="text" name="Artist" size="30"></td>
<td width="252">Titre:
<input type="text" name="Titre" size="30"></td>
<td width="184">Annee:
<input type="text" name="Annee" size="10"></td>
</tr>
<tr>
<td height="62">Genre:
<input type="text" name="Genre" size="20"></td>
<td><input type="submit" value="enregistrer"></td>
</tr>
</table>
</form><br><br> -
Essai d'ajouter dans ton formulaire :
<input type="hidden" name="enregistrer" value="1">
-
Pas besoin de hidden, il suffit simplement de mettre ce name à ton submit.
Le point virgule n'est pas nécessaire, puisque mysql_query() ne peut traiter qu'une seule reqûete.
Evite l'utilisation des short tags(ils sont appelés à disparaitre), au lieu de <? utilise <?php
/!\ Et protège tes requêtes /!\
C'est vital. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
c'est bon j'ai trouvé:
j'ai oublié name="enregistrer" dans <input type="submit" value="enregistrer">
et ca donne ceci:
<input type="submit" name="enregistrer" value="enregistrer">