Bonjour,
Un truc tout bête, mais qui me bloque, je suis en train de faire (à vrai dire, j'ai finit, il me reste que ça à faire), un système de commentaires sur mon blog. Le principe évidemment est de poster un commentaire et d'être rediriger sur celui-ci avec #comment-id-42 par exemple juste après son insertion dans la bdd.
Seulement, je suis pas sûr que last insert id soit la meilleure des méthodes, si 2 personnes postent un commentaires en même temps, la redirection va possiblement merdé non ?
Je mets pas de code à disposition, c'est qu'un formulaire basique, je cherche pas spécialement à avoir le code en réponse, mais simplement la logique, ou juste le raisonnement à avoir.
Merci bien !
Je ne pense pas que cela merde, dans le cas où sa merde tu peux faire un système de timestamp, où les commentaires sont selectionnés & placés selon cette date. De plus si l'ID est en auto increment (logique), alors il ne peut y avoir 2 même ID. Et donc ducoup ton soucis sera réglé.
Merci de ta réponse, mais finalement, je change de méthode, je passe par un processus de validation de commentaire par l'admin. Donc l'utilisateur n'a pas a être redirigé :)
c'est de la foli de ne pas redriger l'utilisateur.
En faites il faut utilisé variable = lastInsertId apres puis d'une requete d'ou tu le compare avec l'email de celui qui la écrit c'est la seule moyen sinon je ne croit pas qu'il y'aura d'autre.
Comme je l'ai dit, l'utilisateur n'a pas a être redirigé sur son commentaire vu que son commentaire sera en attente de validation (donc invisible)
mais quand meme il est nécessaire d'utiliser mon principe sans utiliser la fonction header();
Hello !
Si le commentaire passe en attente de validation, te prend pas la tête, ramène le sur la page de l'article, avec un petit message qui lui dit que son commentaire est en attente de validation.
Moussa, j'ai pas compris ton premier proccess, et pourquoi ne pas vouloir utiliser la fonction header(), qui est assez pratique et plutôt recommandée en fait.
Bonne journée,
Gasp.
Sinon une autre solution Genki, c'est de toujours rediriger l'utilisateur vers la page article, vers son commentaire, mais celui ci est grisé (vu qu'il est en attente de modération).
Par contre, ça fait rajouter un champ à ta table commentaire, et une requête SQL de plus à ton code.
A toi de voir ;)
il faut utiliser la fonction lastinsertid puis utilise WHERE pour compare l'email avec celle de la $_SESSION puis tu recupere le dernier id c'est simple sa !
mais de ma part c'est tres rares meme de poste puis d'etre redriger sur un autre poste. sa ne marche pas
tu recupere le dernier id dans un variable avec lastInsertId() puis dès qu'il clique sur le button il est redriger sur son poste parce que le variable à déja enregistrer le dernier id.