Problème de messagerie interne
Résolu
nicolas06100
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je vais essayé d'être précis. Imaginons que pour un site il y ait un compte principal et des comptes secondaires. Un utilisateur veut envoyer un message interne à un compte secondaire. Jusqu'ici tout va bien mais je voudrais que le compte principal reçoive le même message et là, j'ai un problème car il ne reçoit rien. Dans la table "message" l'id du compte principal " dest2" est bien présent mais il n'y a que "dest" qui reçoit le message. Si quelqu’un peut m'aider, ce serait bien car je nage dans cambouis depuis deux jours et j'ai du passer quelque chose.
Table Message :

Fichier sendmess2.php :
Fichier sendmess.php :
Fichier cible.php :
Voilà, je pense que j'ai tout mis. Je répète, "dest" reçoit bien le message c'est "dest2" qui ne le reçoit pas . J'ai loupé quelque chose quelque part mais où, là est ma question. Merci d'avance pour votre aide.
Je vais essayé d'être précis. Imaginons que pour un site il y ait un compte principal et des comptes secondaires. Un utilisateur veut envoyer un message interne à un compte secondaire. Jusqu'ici tout va bien mais je voudrais que le compte principal reçoive le même message et là, j'ai un problème car il ne reçoit rien. Dans la table "message" l'id du compte principal " dest2" est bien présent mais il n'y a que "dest" qui reçoit le message. Si quelqu’un peut m'aider, ce serait bien car je nage dans cambouis depuis deux jours et j'ai du passer quelque chose.
Table Message :
Fichier sendmess2.php :
<?php include "../base/base.php"; foreach ($_POST as $c=>$v) { $$c=$v; } $sql="insert into messages set exp=:exp, dest=:dest, dest2=:dest2, texte=:texte"; $rq=$db->prepare($sql); $rq->bindParam(":exp",$exp); $rq->bindParam(":dest",$dest); $rq->bindParam(":dest2",$dest2); $rq->bindParam(":texte",$texte); $rq->execute(); $rq->closeCursor(); header("location: ../pages/cible.php"); ?>
Fichier sendmess.php :
<?php session_start(); if (! isset($_SESSION["cnx"])) { header("location: ../index.php"); } $exp=$_SESSION["cnx"]; $dest=$_SESSION["cible"]; $cible=$_SESSION["cible"]; include "../base/base.php"; include "fonctions.php"; $sql1="select pseudo from users where id=:dest"; $rq1=$db->prepare($sql1); $rq1->bindParam(":dest",$dest); $rq1->bindColumn("pseudo",$pseudo); $rq1->execute(); $rq1->fetch(PDO::FETCH_BOUND); /* Cible principal */ $cible=profil($cible); $dest2=$cible["ids"]; ?> <!DOCTYPE HTML> <html lang="fr"> <head> <meta charset="utf-8"> <title>Envoi d'un message interne</title> <link rel="stylesheet" href="../css/sensual.css" /> <link rel="stylesheet" href="../css/3cols.css" /> <script src="../js/jquery.js"></script> <script> function envoi() { expe=$("#exp").val(); dest=$("#dest").val(); dest2=$("#dest2").val(); txt=$("#texte").val(); if (txt=="") { alert("Le message est vide"); $("#texte").focus(); return false; } return true; } </script> <style> ... </style> </head> <body> <div id="main"> <?php include "../outils/logo2.txt"; ?> <div id="slogandroite"> <a href="bye.php" title="Déconnectez-vous"> <img src="../images/logout.jpg" width="24" height="23" alt="Déconnexion"> </a> </div> <div id="slogan"> <?php include "../outils/slogan.txt"; ?> </div> <h1>Envoyer un message à <?php echo $pseudo;?></h1> <form action="../serveurs/sendmess2.php" method="post" onsubmit="return envoi();"> <fieldset> <legend>Texte du message</legend> <textarea id="texte" name="texte"></textarea> <input name="exp" id="exp" type="hidden" value="<?php echo $exp;?>" /> <input name="dest" id="dest" type="hidden" value="<?php echo $dest;?>" /><br /> <input name="dest2" id="dest2" type="hidden" value="<?php echo $dest2;?>" /><br /> <input type="submit" value="Envoyer le message" /><br> </fieldset> </form> <a href="../pages/cible.php"><button id="btreturn">Retour sans envoi</button></a> </div> <?php include "../outils/footer.php"; ?> </body> </html>
Fichier cible.php :
<?php session_start(); if (isset($_GET["cible"])) { $cible=$_GET["cible"]; $_SESSION["cible"]=$cible; } else { $cible=$_SESSION["cible"]; } if (isset($_GET["retour"])) { $retour=$_GET["retour"]; $_SESSION["retour"]=1; } else { $retour=""; unset($_SESSION["retour"]); } $idv=$_SESSION["v"]; include "../base/base.php"; $sql="select genre from users where id=:cible"; $rq=$db->prepare($sql); $rq->bindParam(":cible",$cible); $rq->bindColumn("genre",$genre); $rq->execute(); $rq->fetch(PDO::FETCH_BOUND); // MAJ visites $sqlv1="select count(id) nb,id from visite where idc=:cible and id_visiteur=:idv"; $rqv1=$db->prepare($sqlv1); $rqv1->bindParam(":cible",$cible); $rqv1->bindParam(":idv",$idv); $rqv1->bindColumn("nb",$nb); $rqv1->bindColumn("id",$id); $rqv1->execute(); $rqv1->fetch(PDO::FETCH_BOUND); if ($nb==0) { $sqlv2="insert into visite set idc=:cible, id_visiteur=:idv, date=now() "; $rqv2=$db->prepare($sqlv2); $rqv2->bindParam(":cible",$cible); $rqv2->bindParam(":idv",$idv); $rqv2->execute(); } else { $sqlv2="update visite set date=now() where id=:id"; $rqv2=$db->prepare($sqlv2); $rqv2->bindParam(":id",$id); $rqv2->execute(); } if ($genre=="C") { header("location: cible-a.php"); } else { header("location: cible-b.php"); } ?>
Voilà, je pense que j'ai tout mis. Je répète, "dest" reçoit bien le message c'est "dest2" qui ne le reçoit pas . J'ai loupé quelque chose quelque part mais où, là est ma question. Merci d'avance pour votre aide.
Configuration: Windows / Firefox 76.0
A voir également:
- Problème de messagerie interne
- Centre de messagerie - Guide
- Hotmail messagerie - Guide
- Stockage interne autre ✓ - Forum Samsung
- Stockage autre qui saturé mon samsung - Forum Samsung
- Cegetel messagerie - Forum Mail
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu expliqué ce que signifie "envoyer le message"?
à quelle ligne de quel fichier fais-tu l'envoi vers dest?
à quelle ligne de quel fichier fais-tu l'envoi vers dest2?
je ne vois, dans ton code, ni vérification que chaque opération se passe bien, ni affichage qui te permette de comprendre ce que fait ton code.
as-tu expliqué ce que signifie "envoyer le message"?
à quelle ligne de quel fichier fais-tu l'envoi vers dest?
à quelle ligne de quel fichier fais-tu l'envoi vers dest2?
je ne vois, dans ton code, ni vérification que chaque opération se passe bien, ni affichage qui te permette de comprendre ce que fait ton code.
Merci beaucoup pour ton aide yg_be, en effet il fallait rajouter la requête pour "dest2" dans messagerie.php.
Dest reçoit bien :
La fonction envoi est dans sendmess.php :