Salut
J'ai pas tout compris mais il semble y avoir une erreur de syntaxe dans ta requête:
====>
Bonjour,
Je suis un projet mais j'ai actuellement un petit soucis.
J'ai donc créer mon questionnaire de satisfaction qui marchait très bien mais du coup suis passer en modèle MVC pour que ce soit plus clair dans le code et du coup j'ai un soucis.
Dans mon dossier controleur,
j'ai un fichier action.php
Décrivez ici votre code ou ce que vous cherchez à faire
Le souci c'est que $_GET['id'] n'existe pas.
Celui ci correspond à l'identifiant de la question qu'on retrouve dans le dossier model dans le fichier sondage.php
Une idée comment faire?
En vous remerciant
Salut
J'ai pas tout compris mais il semble y avoir une erreur de syntaxe dans ta requête:
====>
Oui en effet,
En fait je voudrais savoir comment faire pour passer d'une page à une autre.
Au départ je passe dans l'url la valeur id=1.
Ensuite une fois que je répond à la question, le controleur incrémente cet id pour afficher la question 2 puis la 3 puis la 4.
Cependant on ma dit qu'il était impossible d'utiliser $_GET hors du controleur
J'ai un peu de mal à saisir...
Ça fonctionne pas ça ? (vu que c'est commenté)
non puisque $_GET['id'] est inconnu
Le contenu de l'attribut "action" de ton formulaire ne serait pas
par hasard ?
Si c'est le cas, tu dois aussi passer à ce fichier ton paramètre (via l'url si c'est en GET), donc tu devrais avoir
, car si cela n'est pas fait, il semble tout à fait logique que tu n'aie pas accès à cette variable via ce fichier là (action.php)
Voilà ou j'en suis
la view :
le model
le controleur
Pour le moment j'ai un souci ici :
header('Location: index.php?id='.intval($_GET['id'])); car il me dit que l'url est mal redirigé
Il ne faut pas mettre de HTML avant ton header (http://php.net/manual/fr/function.header.php)
Quelle est l'erreur précisement ? As tu regardé dans les logs voir ce que ça raconte ?
Notice: Undefined index: id in D:\wamp\www\pour_thomas\satisfaction-mvc-light\controller\actions.php on line 19
Notice: Undefined index: id in D:\wamp\www\pour_thomas\satisfaction-mvc-light\model\sondage.php on line 7
Notice: Undefined index: id in D:\wamp\www\pour_thomas\satisfaction-mvc-light\controller\actions.php on line 22
car $_GET est vide . il affiche bien la question 1 et quand je clique sur une des réponses cela me met ces erreurs
Et l'URL lorsque tu as cette erreur ?
J'ai cela au tout début
http://localhost/pour_thomas/satisfaction-mvc-light/index.php?id=1
et quand je clique sur une des réponses, j'ai cela
localhost/pour_thomas/satisfaction-mvc-light/
C'est peut être à cause de cela ?
Inspecte ton formulaire et regarde l'attribut action. Si le ?id= n'est pas là, c'est la source du problème.
J'ai fait ceci en corrigeant
Donc les questions s'affichent correctement les une après les autres par contre cela n'ajoute rien dans la base de donnée..
Tu peux remontrer la fonction addReponse stp ?
a priori le execute ne fonctionne pas
Tu utilises PDO dans ta class db ?
Si oui, tu peux afficher les erreurs en faisant: $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); (je crois). ça devrait t'aider a débugger ta requête et surtout comprendre ce qui ne va pas.