PHP/MySQL

Fermé
kusanagi79 Messages postés 533 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 27 février 2025 - 29 juin 2007 à 05:05
kusanagi79 Messages postés 533 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 27 février 2025 - 29 juin 2007 à 14:29
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 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
29 juin 2007 à 07:19
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 533 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 27 février 2025 58
29 juin 2007 à 13:26
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 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
29 juin 2007 à 13:43
Essai d'ajouter dans ton formulaire :
<input type="hidden" name="enregistrer" value="1">
0
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 533 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 27 février 2025 58
29 juin 2007 à 14:29
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