Probleme d'insertion de données dans une base de données à partir d'un formulair

Résolu
stageman Messages postés 8 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 26 décembre 2008 - 17 déc. 2008 à 12:15
stageman Messages postés 8 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 26 décembre 2008 - 18 déc. 2008 à 17:08
Bonjour,

Voila je suis nouveau sur ce forum et ceci est mon premier post.

Je suis actuellement en stage dans une entreprise dans le cadre de mon DUT.

J'ai codé un site en php, j'ai creer une base de donnees avec phpmyadmin.

Et la je suis en train de coder la partie admin de mon site.

Dans cette partie admin j'ai creer un formulaire qui me sert a ajouter une boutique dans ma base de données, le probleme est que mon code ne fonctionne pas et j'aurais besoin d'un peu d'aide si quelqu'un voit mon erreur et a la solution.

Merci d'avance.

Voici mon code :

<?php
 
 // connection base de donnees
mysql_connect("localhost","root","");
//selection de la base
mysql_select_db("nomdemabase");


 //insertion des donnees dans ma base
$titre = $_POST['titre'];
$texte = $_POST['texte'];
$lien = $_POST['lien'];
$image = $_POST['image'];


?>


 


<form name="formulaire" method="post" action="index.php" onsubmit="return verifForm(this.form)">
   ----
<center>Admin Boutiques

</center>,
  ----

   Nom du site :,
 
&nbsp;,
   Adresse :,
    &nbsp;,
  
  ----

   Description :,
   <textarea wrap="soft" name="texte" id="descritpion" rows="6" cols="30"></textarea>,
     Image :,
   ,
  
  ----
,
  ----

   &nbsp;,
   &nbsp;,
   &nbsp;,
   &nbsp;&nbsp;-&nbsp;,
  
 

</form>




<?php


//requete pour insérer les valeurs du formulaire dans la table boutique
mysql_query("INSERT INTO boutique (titre,texte,lien,image,id_categorie) VALUES('$titre' , '$texte' , '$lien', '$image','');");
header("location:index.php"); // remplacer le nom de la page vers laquelle on souhaites être redirigé une fois l'insertion faite
mysql_close();


?>

5 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 déc. 2008 à 16:17
Salut,

Je n'ai pas regardé dans le détail ton code.
Essaies simplement ça :

//insertion des donnees dans ma base
$titre = $_POST['titre'];
$texte = $_POST['texte'];
$lien = $_POST['lien'];
$image = $_POST['image'];

Ajoute :
print_r($_POST); // tes 4 variables POST sont elles définies ?

//requete pour insérer les valeurs du formulaire dans la table boutique
mysql_query("INSERT INTO boutique (titre,texte,lien,image,id_categorie) VALUES('$titre' , '$texte' , '$lien', '$image','');");
Remplace par :
$sql = "INSERT INTO boutique (titre,texte,lien,image,id_categorie) VALUES('$titre' , '$texte' , '$lien', '$image','');"if (false $query mysql_query($sql)) die(mysql_error().'
'.$sql);
exit;

As tu une erreur reportée ?

Cordialement,

Kohntark -
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 déc. 2008 à 13:32
Salut,

J'ai fait une erreur dans la syntaxe :

$sql = "INSERT INTO boutique (titre,texte,lien,image,id_categorie) VALUES('$titre' , '$texte' , '$lien', '$image','');"

 remplace par => $sql = "INSERT INTO boutique (titre,texte,lien,image,id_categorie) VALUES ('$titre' , '$texte' , '$lien', '$image','')";

Ajoute tout en haut de ta page (ou juste après le premier "<?php") :
ini_set ('display_errors', 'on');
error_reporting(E_ALL);


Le print_r devrait t'afficher un tableau contenant toutes les variables qui ont été passées à ton script par la méthode POST (en l'occurence titre, texte, lien et image)
Si ce print_r ne te renvoie toujours rien c'est qu'il y a un problème dans ton formulaire (tu as pas mal d'erreurs de syntaxe) ou dans tes fonctions javascript (poste les ici, nottament la fonction verifForm)

Kohntark -
3
stageman Messages postés 8 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 26 décembre 2008
18 déc. 2008 à 09:55
Tout d'abord kohntark je voulais te remercier de ta réponse, parce que sincérement j'ai du mal a comprendre mon probleme et il n'y a pas grand monde pour m'aider.

Alors j'ai suivi tes indications mais rien ne se passe, en fait quand j'écris le bout de code que tu m'as donné :

 //requete pour insérer les valeurs entrées dans le formulaire dans la table boutique


$sql = "INSERT INTO boutique (titre,texte,lien,image,id_categorie) VALUES('$titre' , '$texte' , '$lien', '$image','');"if (false $query mysql_query($sql)) die(mysql_error().'
'.$sql);
exit;

Il s'affiche a l'ecran :  '.$sql); exit;?>

comme si j'avais fait un echo.

Et le print_r ne me renvoie rien, aucune erreur reportée.

C'est peut etre que mes variables ne sont pas (ou mal) définies.

J'ai du mal a comprendre, je vais essayer de trouver ce qui cloche, et au cas ou tu aurais une idée je suis toujours preneur.
 
Cordialement.
0
stageman Messages postés 8 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 26 décembre 2008
18 déc. 2008 à 14:33
Merci pout ton aide kohntark.

Donc j'ai fait ce que tu m'as dit.

Et maintenant mes données s'inserent bien dans ma base de données.
Par contre sur la page de mon formulaire sous firefox il m'affiche ce message :

Notice: Undefined index: titre in C:\wamp\www\VIVADIA-PHP v.3\admin\index.php on line 168

Notice: Undefined index: texte in C:\wamp\www\VIVADIA-PHP v.3\admin\index.php on line 169

Notice: Undefined index: lien in C:\wamp\www\VIVADIA-PHP v.3\admin\index.php on line 170

Notice: Undefined index: image in C:\wamp\www\VIVADIA-PHP v.3\admin\index.php on line 171
Array ( )

et sous I.E il m'affiche :

Array ( [titre] => nom boutique [lien] => www.nomboutique.com [texte] => la boutique de ... [image] => boutique.jpg [envoi] => Valider ) <!-- ******************************************************************************************************************************************************************************************************************************************--><!-- ================================================================================================== tableau pied de page ===============================================================================================================--><!-- ******************************************************************************************************************************************************************************************************************************************-->


<tr>
<td colspan="5"> 

Donc voila ça marche mais ça m'indique que mes variables sont pas définies, je comprends pas trop et je continue à chercher.

stageman.</td>
</tr>
0

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

Posez votre question
stageman Messages postés 8 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 26 décembre 2008
18 déc. 2008 à 17:08
kohntark je voulais te remercier pour ton aide précieuse.

Tout ce que tu m'as dis m'as bien aidé et c'est super sympa d'avoir pris du temps pour me répondre.

Finalement j'y suis arrivé.

Donc j'ai mon formulaire qui se connecte bien a ma base de données et mes informations qui s'y insèrent correctement et le tout qui s'affiche sur mon site.

MERCI
0
Rejoignez-nous