Undefined index post id

Fermé
latulipe - 19 avril 2009 à 14:36
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 20 avril 2009 à 14:25
Bonjour j'ai codé mon forum et je touche à la fin où j'essaie de corriger ses dernières erreurs coriaces lol... Celle ci me bloque depuis hier et je n'ai toujours pas trouvé la solution d'autant que mise à part qu'elle "s'affiche" lorsque je suis sur une page concernée tout fonctionne bien.

Voici l'erreur :

//Notice: Undefined index: post_id in C:\wamp\www\forum\voirforum.php on line 168//

Cette ligne n'apparait que lorsque je suis sur une page "voirforum" qui contient des sujets... Le script fonctionne bien (j'entends par là que les messages s'affichent, les topics, tous les liens présents...) mais cette ligne d'erreur m'exaspère.

Voici la partie suspecte :

//Selection dernier message
$nombreDeMessagesParPage = 15;
$nbr_post = $data3['topic_post'] +1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);

echo '<td class="derniermessage">Par
<a href="./voirprofil.php?m='.$data3['post_createur'].'
&action=consulter">
'.stripslashes(htmlspecialchars($data3['membre_pseudo_last_posteur'])).'</a><br />
A <a href="./voirtopic.php?t='.$data3['topic_id'].'&page='.$page.'#p_'.$data3['post_id'].'">'.date('H\hi \l\e d M y',$data3['post_time']).'</a></td></tr>';

La ligne d'erreur apparait sur la page juste au dessus de la table "annonce" et j'ai la même erreur qui se répète chaque fois qu'un nouveau topic est créé sur la page. C'est la même (sauf qu'on m'indique ligne 233) et elle apparait au dessus des tables "topic". Je ne poste pas le code PhP puisque la ligne incriminée est exactement la même que celle en gras que j'ai mise plus haut.

Alors je remercie ceux qui prendront le temps de jeter un coup d'oeil à mon problème et s'il vous faut tout le script y'a qu'à demander (j'ai pas voulu surcharger le sujet)...

Merci.

PS: J'utilise wamp en local pour réaliser tout ça.
A voir également:

13 réponses

Personne n'a une idée ?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
19 avril 2009 à 17:24
Salut,
Faudrai voir déjà comment est déclaré la variable $data3. Ainsi, ça nous permettrai d'y voir plus clair.
0
Je te remercie merci pour ta réponse... Qu'entends tu par "comment est déclaré ta variable" (je débute en php)

Si tu veux bien me donner plus d'explications ou s'il te faut d'autres lignes de code n'hésites pas...
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
19 avril 2009 à 18:15
Avant de pouvoir être affiché, la variable $data3 qui contient $data3['topic_id'] est défini. Mais visiblement, d'après le message d'erreur ce n'est pas la cas.
Peux tu afficher le script où cette variable est défini ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ok ! Je vais farfouiller mes scripts pour trouver où cette variable est définie...

Cela se peut il qu'elle se trouve dans ma page "poster" ? (vu que l'erreur est sur ma page "voirforum")

Je te tiens au courant... et encore merci pour ton aide.


____

PS sinon j'avoue avoir demandé de l'aide sur un autre forum également tu pourras y trouver le scripts en entier et ce qui a déjà été essayé (sans résultat)... Bien entendu on peut continuer notre discussion ici
0
Double post désolé mais je suis une buse je t'ai pas mis le lien

https://openclassrooms.com/forum/sujet/page-voirforum-gt-undefined-index-post-id-13450

Je dois m'absenter un moment et je repasserai plus tard dans la soirée...
0
Dans ma page "postok" j'ai ici ceci :

//On récupère la place du message dans le topic (pour le lien)
$requete3 = mysql_query('SELECT COUNT(*) AS nbr FROM forum_post
WHERE topic_id = '.$topic.' AND post_time < '.$data2['post_time']);
$data3 = mysql_fetch_assoc($requete3);

Cela a t'il un rapport ? Encore une fois s'il te faut certains scripts en entier pas de soucis. Je ne veux pas surcharger le sujet en postant 300 lignes de codes comme ça.
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
19 avril 2009 à 19:06
J'ai trouvé ta requète via ton lien sur le site du zero.

$requete3 = mysql_query('SELECT forum_topic.topic_id, topic_titre, topic_createur, topic_vu, topic_post, topic_time, topic_last_post,
Mb.membre_pseudo AS membre_pseudo_createur, post_createur, post_time, Ma.membre_pseudo AS membre_pseudo_last_posteur FROM forum_topic 
LEFT JOIN forum_membres Mb ON Mb.membre_id = forum_topic.topic_createur
LEFT JOIN forum_post ON forum_topic.topic_last_post = forum_post.post_id
LEFT JOIN forum_membres Ma ON Ma.membre_id = forum_post.post_createur    
WHERE topic_genre = "Annonce" AND forum_topic.forum_id = "'.$forum.'" 
ORDER BY topic_last_post DESC');


Tu peux regarder dans ta table forum_post que tu as bien une colonne post_id ?

Je dois en revanche admettre que cette requête est un peu compliqué à mon niveau et que j'ai un peu de mal à tout comprendre...
0
Désolé pour le temps de réponse...

Oui j'ai bien une colonne post_id dans ma table post_forum (de type 1,2,3,4,5,6,7,8,....... auto increment je crois)

Sinon je n'ai toujours pas résolu ce problème :(
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
20 avril 2009 à 00:47
Je pense que la solution proposé par j-t sur le site du zero était sur la bonne voie me semble t-il.
0
Oui mais comment réecrire cette requête ?
0
j-t a dit :

ON forum_topic.topic_last_post = forum_post.post_id

ici il test l'égalité, mais il récupere pas post_id si il avait pas besoin de l'afficher ok mais la ligne plus bas il l'affiche et l'erreur viens de la.

Comment demander à la requête de récupérer post_id ?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
20 avril 2009 à 14:25
J'ai personnellement pas l'habitude d'utiliser des requêtes de ce genre. Essai de rajouter forum_post.post_id au tout début.
0