|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 79
|
Bonjour j'espere que qlq'un pourra m'aider,mon probleme est le suivant:
je veux faire une messagerie interne, et j'ai commencé par faire la boite de reception en premier, mais je n'arrive à afficher le msg voulu, porbleme d'indentifiant, elle me donne le msg : "Aucun message trouvé." le mail sera affiher ds une popup. voila le code et merci à vous: Code :
<?php session_start(); $membre['id']=$_SESSION['id']; include('../include/control-session.php'); include('../include/db_connect.php'); ?> <body> <div class="body"> <div class="center"> <div> <h3><a href="#">Boite de réception</a></h3> <div> <?php // requete SQL cherchant tous les titres, les dates ainsi que l'auteur des messages pour le membre connecté $requete = 'SELECT messagerie.id as id_message,objet,membres.login as expediteur,date FROM messagerie, membres WHERE id_destinataire="'.$membre['id'].'" AND id_expediteur=membres.id ORDER BY date DESC'; $rep=mysql_query($requete)or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());; if($rep==0) echo "Vous n\'avez aucun message."; else{ echo '<form name="form" method="post">'; echo '<table id="myTable">'; echo '<thead><tr><th>Objet</th><th>Expéditeur</th><th>Date et heure</th><th>Effacer</th></tr></thead><tbody>'; while($ligne=mysql_fetch_row($rep)){ echo '<tr><td><a href="#?id_message=' , $ligne[0] , '">' , stripslashes(htmlentities(trim($ligne[1]))) , '</a></td> <td ><a href="lire.php?id_message=' , $ligne[0] , '">' , stripslashes(htmlentities(trim($ligne[2]))) , '</a></td> <td >'.$ligne[3].'</td><td><input type="checkbox" name="id[]" value="'.$ligne[0].'"></td></tr>'; } echo '</tbody></table><br>'; echo '<input type="submit" class="buttonSubmit" name="suppression" value="Supprimer">'; echo '</form>'; } //libère toute la mémoire et les ressources utilisées par la ressource de résultat mysql_free_result($rep); mysql_close(); echo" <div id=\"popupContact\"> <a id=\"popupContactClose\">x</a> <h1>Title of our cool popup, yay!</h1> <p id=\"contactArea\">"; include('../include/db_connect.php'); // requete SQL selectionnant la date, le titre et l'expediteur du message que l'on souhaite lire, tout en prenant soin de vérifier que le message appartient bien au membre connecté $sql = 'SELECT objet, date, message, membres.login as expediteur FROM messagerie, membres WHERE id_destinataire="'.$membre['id'].'" AND id_expediteur=membres.id AND messagerie.id="'.$_GET['id_message'].'"'; // on lance cette requete $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 0) { echo 'Aucun message trouvé.'; } else { // si le message a été trouvé, on l'affiche $data = mysql_fetch_array($req); echo "<div><b>Date :"; echo $data['date'] ,'</b></div>', ' <br><br> ' , '<div><b>Expéditeur :' , stripslashes(htmlentities(trim($data['expediteur']))) ,'<br><br>','Objet :',stripslashes(htmlentities(trim($data['objet']))) ,'<b></div><br>'; echo "<div>"; echo nl2br(stripslashes(htmlentities(trim($data['message'])))); echo "</div>"; } ?> </p> </div> <div id="backgroundPopup"></div> </div> </div> <div > <h3><a href="#">Messages envoyés</a></h3> <div> </div> </div> <div > <h3><a href="#">Messages supprimés</a></h3> <div> </div> </div> </div> </div> <?php include('../include/menu-footer.php');?> </div> </body> </html> |
|
|
|
|
|
#3 (permalink) |
|
Membre éclairé
![]() Date d'inscription: janvier 2010
Localisation: Ile De La Réunion
Messages: 384
|
Salut
Code :
$rep=mysql_query($requete)or die ... bla bla bla ...; if($rep==0) echo "Vous n\'avez aucun message."; else{ ... bla bla bla ... } T'as surement oublié de faire un $nb = mysql_num_rows($req); comme tu l'as fais plus bas dans ton code A cause de ça tu ne devrais pas pouvoir afficher le formulaire avec les messages, donc impossible de renvoyer un $_GET['id_message'] par exemple car c'est au click sur un des lien qui renvoie cet ID aparement. Du coup, il est normal que le contenu de ton popup soit vide. D'ailleurs, par défaut normalement le popup ne contient pas de contenu, ce qui fait que dans ce cas là tu lance une requête pour rien. Tout ça si j'ai bien suivi le truc
__________________
Win XP | WampServer 2.0 | Apache 2.2.11 | Php 5.3.0 | MySQL 5.1.36 Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] Dernière modification par RunCodePhp ; 29/01/2010 à 06h35. |
|
|
|
|
|
#4 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 79
|
dans le popup j'ai le msg "Aucun message trouvé." c par rien
la premiere requette march bien puisque il m'affiche bien les champs chacun ds sa colonne, et quand je mets le curseur sur l'objet du mail, il me donne bien l'identifiant du mail dans la barre d'etat, mais ce meme id n'est plus reconnu dans la 2eme requette, c la tt le probleme. et je vous remercie de l'interet que vous portez à mon pb
|
|
|
|
|
|
#6 (permalink) |
|
Membre éclairé
![]() Date d'inscription: janvier 2010
Localisation: Ile De La Réunion
Messages: 384
|
Et bien dans ces conditions tu aurais pu (comme l'a suggéré sabotage) afficher cette requête $sql, car si elle renvoie rien, c'est qu'il y a erreur.
Tu pourras d'ailleurs à ce moment la copier et l'exécuter dans ton PhpMyAdmin (par exemple) pour vérifier si elle te retourne la ligne attendue. Peut être qu'il y a erreur sur tes liens, ne serait ce du HTML non valide ne permettant pas d'envoyer ce id_message ? Tu peux le vérifier en affichant le code source de la page.
__________________
Win XP | WampServer 2.0 | Apache 2.2.11 | Php 5.3.0 | MySQL 5.1.36 Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
|
|
#7 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 79
|
j'ai testé la requete sur phpmyadmin en remplaçant les variables "'.$membre['id'].'" et "'.$_GET['id_message'].'"' par des id que j'ai choisi, et tt marche elle m'affiche exactement le resultat voulu.
je vais encore une fois verifer le code html esperant que je trouve qlq choses |
|
|
|
|
|
#9 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 79
|
pr le moment je peux pas le faire j'ai un probleme avec wampserver
mais comment il reconnaitra les $_GET['id_message'] et $membre['id'] ? Code :
$sql = 'SELECT objet, date, message, membres.login as expediteur FROM messagerie, membres WHERE id_destinataire="'.$membre['id'].'" AND id_expediteur=membres.id AND messagerie.id="'.$_GET['id_message'].'"'; |
|
|
|
|
|
![]() |
||
Messagerie:imposible de capturer un id pour afficher le message voulu
|
||
| Outils de la discussion | |
|
|