Probleme d'insertion de données dans une base de données à partir d'un formulair [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
26 décembre 2008
-
Messages postés
8
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
26 décembre 2008
-
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

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
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 -
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
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 -
Messages postés
8
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
26 décembre 2008

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.
Messages postés
8
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
26 décembre 2008

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>
Messages postés
8
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
26 décembre 2008

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