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   -
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


}
?>
A voir également:

5 réponses

sfel Messages postés 1645 Statut Membre 430
 
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.

1
kusanagi79 Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   58
 
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>
0
Dr Zoidberg Messages postés 547 Statut Membre 100
 
Essai d'ajouter dans ton formulaire :
<input type="hidden" name="enregistrer" value="1">
0
hare
 
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.
0

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

Posez votre question
kusanagi79 Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   58
 
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">
0