PhpMyAdmin - pb de récupération des données

Résolu/Fermé
Polochon - 10 janv. 2012 à 21:36
 Polochon - 11 janv. 2012 à 20:57
Bonjour à tous,


Meilleurs voeux à tous !


Je suis nouvelle sur le forum, et je suis en train de construire un mini-site internet pour les besoins de mon école. J'ai créé une base de données sur PhpMyAdmin, et je construis une page sur laquelle les visiteurs peuvent faire une demande d'informations. La page fonctionne bien, le problème est que lorsque je consulte la base pour vérifier que tout fonctionne, je me rends compte que la base a enregistré le nom des variables et pas le contenu rempli dans le formulaire... Il doit y avoir un problème dans ma requête.


Voici le code de ma page, j'espère que quelqu'un pourra m'aider ! Merci par avance !


<?php
include("header.php");

include("connexion.php");
$vobjet=$_POST['objet'];
$vcategorie=$_POST['categorie'];
$vcontact=$_POST['contact'];
$vcontenu=$_POST['contenu'];

$vinsertion=mysql_query("insert into demandes (objet,categorie,contact,contenu) values ('vobjet','vcategorie','vcontact','vcontenu')");
echo "Votre demande a bien été prise en compte. Nous vous répondrons au plus vite ! <A HREF='accueil.php'>Cliquer ici pour revenir à l'accueil.</A>";
?>

4 réponses

vincebzh Messages postés 137 Date d'inscription lundi 22 mars 2010 Statut Contributeur Dernière intervention 7 mai 2013 29
Modifié par vincebzh le 10/01/2012 à 22:07
Salut. Meilleurs veux à toi aussi.

$vinsertion=mysql_query("insert into demandes (objet,categorie,contact,contenu) values ('$vobjet','$vcategorie','$vcontact','$vcontenu')"); 


En PHP, il ne faut pas oublier le "$" au début d'une variable (que ce soit pour l'attribuer ou pour l'appeler).

[EDIT]
N'oublie pas non plus de vérifier qu'un _POST existe, sinon tu risque d'avoir des erreurs ( notices ) lors que l'execution du script.

Exemple :
/*
 Si $_POST['objet'] n'existe pas, on lui attribue une chaine vide par défaut, sinon, on renseigne la variable $vobjet avec le $_POST
*/
$vobjet = (isset($_POST['objet']) ? $_POST['objet'] : '';
0
Merci beaucoup !

Effectivement, c'est une grosse erreur d'inattention... maintenant ça marche !

Pour le isset, j'en avait entendu parler mais je ne savais pas comment il fonctionnait. Je vais essayer de l'intégrer, merci pour le conseil !
0
vincebzh Messages postés 137 Date d'inscription lundi 22 mars 2010 Statut Contributeur Dernière intervention 7 mai 2013 29
10 janv. 2012 à 22:37
De rien.
Le "isset" sert juste à vérifier si une variable existe.
Si tu veux que la variable ne soit pas un champs vide, il faut ajouter le mot-clé "empty".

Par exemple :
$vobjet = (isset($_POST['objet']) && !empty($_POST['objet'])) ? $_POST['objet'] : false;

if($vobjet) {
    echo $vobjet;
} else {
   echo 'Objet not found';
}
0
Tout marche nickel maintenant, super !
0