Bonsoir, as-tu teamviewer pour que je susi regarder ça de plus prêt.
Bonjour,
Plusieurs soucis :
-
J'ai un formulaire avec une liste déroulante, mais je n'arrive pas à insérer mon choix dans la BDD.
-
Je souhaite récupérer l'id de la table utilisateurs et le mettre dans la table cours, pour savoir qui a réservé tel cours ( pour ne pas qu'un utilisateur s'inscrive plusieurs fois à un même cours)
Mon code :
https://pastebin.com/PyGYLzRH
Merci d'avance pour vos réponses
9 réponses
Bonjour,
Il faut que tu revois comment on crée une liste déroulante en html car l'option n'a pas de "name" mais "value"
Ce qui te permettra de récupérer la valeur sélectionnée de cette liste par un $POST['cours']
Merci de vos réponses.
J'ai modifié mon code :
Mon principal problème est de mettre id de la table utilisateurs dans le champs id_user de la table cours
Merci d'avance
Bonjour.
Tu as deux problèmes dans ton code.
Le premier est dans la requête SQL, soit :
Tu dis qu'il y a trois paramêtres qui seront insérés dans l'enregistrement mais tu ne définis que pour deux des paramêtres, soit, cours et date, mais tu ne définies pas id_user.
Ensuite dans la ligne suivante, soit :
Tu ne définis pas la valeur pour id_user.
Je suis tout à fait d'accord, c'est bien pour ça que je viens vous demadner de l'aide. Je ne sais pas quoi mettre, car je veut mettre l'id de la table utilisateur dans la table cours.
Tu pourrais par exemple nous montrer le code correspondant à la connexion d'utilisateur pour que nous puissions voir comment tu initialises la session de l'utilisateur afin que nous puissions correctement t'aider.
Étant donné que d'après le message d'erreur destiné à l'utilisateur pour le pseudo, il est clair que celui qui remplit le formulaire est lié à l'utilisateur qui sera enregistré dans la table.
Par conséquent, je ne comprends pas pourquoi tu fais un input pour le pseudo dans le formulaire, alors que tu l'as dans la session, via $_SESSION['pseudo'].
Voici mon code de connexion :
Lors de la confirmation de la connexion, tu ne définis à aucun moment les données de l'utilisateur dans la session, donc au lieu de ne récupérer que password dans la table utilisateurs, récupéres toutes les données que tu pourrais avoir besoin plus tard, comme par exemple l'id, le pseudo, et son email, ça t'évitera de faires des requêtes SQL par la suite dans cette table, juste pour récupérer ces infos là, donc par exemple :
De cette maniière par exemple dans la page qui nous intéresse, tu as simplement à récupérer l'id dans la session, soit :
Par contre, étant donné que tu ne veux pas que l'utilisateur puisse s'inscrire plusieurs fois à un même cours, tu devrais d'abord vérifier s'il n'existe pas déja un enregistrement pour l'utilisateur et le cours choisi avant de faire l'insertion en base de données.
Bonjour,
Je mets le code avec lequel ça fonctionne à 90 %. J'ai toujours un problème : si un utilisateur s'inscire à un cours, aucun autre utilisateur ne peut s'inscire à ce cours. Évidemment, ce n'est pas ce que je souhaite. Je pense que je dois rajouter une condition lorsque je vérifie si le cours et déjà présent, comme id_user, mais je ne sais pas comment le mettre en place. Si vous avez des idées, je suis preneur. Merci d'avance.