How transmettre données formulaire sur BDD ?

Fermé
PENNY - 19 juin 2010 à 22:28
 PENNY - 20 juin 2010 à 19:14
Bonjour,

Je suis actuellement en train de réaliser un projet de site sous Joomla en local. Le site est fait. J'ai aussi réalisé une base de donnée sur PHP MyAdmin ainsi qu'un formulaire qui est placé sur mon site.

Pour relier ma BDD au formulaire j'ai réalisé un script php dans lequel Joomla ne détecte pas d'erreur mais rien n'est transmis sur ma BDD.

Serait-il possible que quelqu'un puisse regarder ce que j'ai fait pour voir s'il y a des erreurs. Ce serait vraiment super gentil, parce que là, je ne trouve plus aucune solution :)!

D'avance merci :)

Voici mon formulaire html placé sur le site :

FORMULAIRE
(placé dans Joomla >web.zmwsc>
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title></title>
</head>
<body>
<form method="post" action="formulaire2.php"
name="formulaire"><input name="artiste"
value="artiste"><input name="OK" value="OK" type="submit"><input
name="RESET" value="RESET" type="reset"><br>
</form>
</body>
</html>

Je l'ai alors relié à un formulaire2.php (placé dans Joomla>web.zmwsc>joomla>projet_base_de_donnée)

<?php
if (!empty($_POST['artiste'])) $artiste=$_POST['artiste'];
else $artiste="";
$mysql_link = mysql_connect('localhost','root','');
if($mysql_link)
{
$requete="INSERT INTO artistes(noms_artistes) VALUES('','$artiste',)";
$execution=mysql_db_query("rockabilly_music",$requete);
echo 'Vos infos ont ete rajoutees a la base de donnee.';
}
mysql_close();
?>

PS : J'ai une base de donnée avec deux tables. Et dans la table 'artistes' où je souhaite rajouter mon élément, il y a 3 champs : id_artistes; nom_artistes et enfin localisation_artistes. (j'ai peur de m'être trompé dans le formulaire à ce niveau)

Voilà voilà. Et du coup, quand je rentre quelque chose dans le formulaire sur mon site, tout semble aller bien, mais sur PhP my admin, rien ne s'ajoute:s

En tout cas, merci beaucoup si vous pouvez me venir en aide :D
Bonne soirée !

8 réponses

XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
19 juin 2010 à 22:34
Utilise l'attribut id dans tes contrôles pour les récupérer dans ta 2ème page
1
Merci beaucoup ! Mais...Euh.... excuse-moi mais je ne comprends pas ce que tu entends par contrôle
ni comment placer précisément ces balises id (je suis novice et j'ai regardé pas mal de tuto mais je ne l'ai jamais vu utilisée pour ça encore.... donc ta réponse est un peu obsure :s)...

Pourrais-tu m'en dire un peu plus ?
Merci encore !
0
Erf, non ça ne marche pas (enfin si, ça fonctionne toujours sans erreur ^^) mais toujours rien dans la base :s ! Est-ce qu'il ne faudrait pas faire une requête dans la base pour que ça marche O_o...?

Merci encore :D
0
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
20 juin 2010 à 14:22
Salut !

Pour savoir d'où vient l'erreur, tu peux faire ça :
mysql_db_query("rockabilly_music",$requete) or die(mysql_error());

Cela te permettra d'afficher l'erreur.

Merci de m'en tenir informé ;)
0

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

Posez votre question
Alors, maintenant un message d'erreur d'affiche :)

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Mais je ne comprends pas comment c'est possible qu'il y ait une erreur sur ma ligne <?php.
Du coup, j'ai testé en mettant php à la ligne, mais il me dit alors qu'il y a une erreur ", unexpected T_IF" ligne 3
....
mais je ne comprend pas ce qui cloche !
Désolée de t'embêter avec ça ! Je sens qu'il n'en faut pas beaucoup pour que ça fonctionne mais la p'tite faille est bien cachée ^^
0
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
20 juin 2010 à 17:46
Si tu peux, fais un echo de ta requête pour savoir ce qu'il envoie dans la base et colle le résultat ici :)

Merci
0
C'est bon, un ami a réussis à modifier mes beugs du script !!
Je te le copie colle pour que tu vois (si jamais ça peut servir à quelqu'un ^^)

<?php
$artiste= $_POST['artiste'];
$localisation= $_POST['localisation'];

$mysql_link = mysql_connect('localhost','root','');
if($mysql_link==FALSE)
{
echo "erreur serveur";
}

$base=mysql_select_db("rockabilly_music", $mysql_link);
if ($base==FALSE)
{
echo "erreur base";
}
$requete="INSERT INTO artistes VALUES('','$artiste','$localisation')";
$execution=mysql_query($requete, $mysql_link);
if($execution==FALSE)
{
echo("ça plante !");
}
else
{
echo 'Vos infos ont ete rajoutees a la base de donnee.';
}


mysql_close();
?>

En tout cas, merci beaucoup pour tout, c'était vraiment super gentil :D!
Bonne fin de dimanche à toi :)!!
0
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
20 juin 2010 à 00:31
Euh non autant pour moi j'avais mal lu ton message.
En fait il me semblerait que ton soucis vient de ta requête :
$requete="INSERT INTO artistes(noms_artistes) VALUES('','$artiste',)"; 

Essaie cela :
$requete="INSERT INTO artistes (noms_artistes) VALUES (".$artiste.")"; 


Normalement ça devrait marcher.
Merci de m'en tenir informé ;)
-1