PhpMyAdmin - pb de récupération des données [Résolu/Fermé]

- - Dernière réponse :  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>";
?>
Afficher la suite 

4 réponses

Messages postés
137
Date d'inscription
lundi 22 mars 2010
Statut
Contributeur
Dernière intervention
3 septembre 2014
29
0
Merci
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
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 !
Messages postés
137
Date d'inscription
lundi 22 mars 2010
Statut
Contributeur
Dernière intervention
3 septembre 2014
29
0
Merci
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
Merci
Tout marche nickel maintenant, super !