Messagerie interne pour espace membre...

WRInaute discret
Bonjour a tous,

Je me joint encore à vous pour vous demandez conseil, la messagerie interne de mon espace membre :roll: (je crois que vous le savez déjà!!)

Donc, voyons voir....Je la créer moi-même, donc j'ai un peu de mal!!

Voici ce que j'ai fait :

envoie_message.php
Code:
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab

if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
	die('Vous n\'êtes pas autorisez à acceder à cette page.'); //Si non, on arrete le script et on affiche un message
}

$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);

$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
$clan = $result['clan'];
/* On peut recuperer plus d'info si besoin */


$destinataire = $_POST['destinataire']; //On recupère les infos du message...
$objet = $_POST['objet'];
$message = $_POST['message'];

		##################
		##Vérification du message##
		##################
		
				
		if ($destinataire == "" ) // Si le champ du destinataire est vide...
		{
			$reponse = 'Vous n\'avez pas entrez de destinataires! <a href="javascript:history.back(1)">Retour au formulaire</a>';
		}

			elseif ($objet == "") // Si le champ de l'objet est vide...
		{
			$reponse = 'Vous n\'avez pas entrez d\'Objet !';
		}
	
			elseif ($message == "") // Si il n'y a pas de message...
		{
			$reponse = 'Vous n\'avez pas de texte dans votre message!';
		}

		else // Alors, si tout est rempli, on sauvegarde sur la bdd!
		{ 
			$sql = connect_sql(); //On se connecte à MySQL
			mysql_query("INSERT INTO pdf_mess VALUES ('', '$pseudo', '$destinataire', '$objet', '$message', '', '')");
			$reponse = 'Message envoyé avec succès!';
			mysql_close($sql);//On se deconnecte
		}

		
?>

<html> 
<body>
<? echo $reponse; ?> <!-- On affiche la reponse de tout le code du dessus -->
</body>
</html>

index.php
Code:
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab

if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
	die('Vous n\'êtes pas autorisez à acceder à cette page.'); //Si non, on arrete le script et on affiche un message
}

$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);

$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
$clan = $result['clan'];
/* On peut recuperer plus d'info si besoin */

?>

<html>

<table border="0">
<form name="form3" id="news" method="post" action="envoie_message.php">
<script src="smilies.js" type="text/javascript"></script>
<tr><td>Destinataire : </td><td><input type="text" name="destinataire" id="destinataire"> <?php include("smilies/smilies1.html") ?></td>
<br>
<tr><td>Objet : </td><td><input type="text" name="objet" id="objet"> <?php include("smilies/smilies2.html") ?></td></tr>
<tr><td>Message : </td><td><textarea rows="8" cols="40" name="message" id="message"></textarea></td></tr>
<tr><td></td><td><input type="button" value="b" onclick="storeCaret('b')"><input type="button" value="I" onclick="storeCaret('i')"><img src="smilies/ange.gif" OnClick="smile(':ange:')" /><input type="submit" value="Envoyer"></td></tr>
</form>
</table>
</html>
L'envoie de message mache bein, ils se sauvegarde sur la bdd.

Mais le HIC!
Lire un message qui nous est adrssé :( (sachant que j'ai deux table!)
J'ai bien sûr commencé!


Code:
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab

if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
	die('Vous n\'êtes pas autorisez à acceder à cette page.'); //Si non, on arrete le script et on affiche un message
}

$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);
$requete1 = mysql_query("SELECT * FROM pdf_mess"); 


$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
$clan = $result['clan'];
$destinataire = $result['destinataire'];
$nom = $result['nom'];


/* On peut recuperer plus d'info si besoin */

		#################
		###Nouveau message??###
		#################
		
		if ($destinataire == '$pseudo')
			{
			$resultat = "Vous avez un nouveau message de $nom";
			}
		
?>
<html>
<?php echo"$resultat" ?>

</html>

Et bien, merci a vous de me donner conseil afin de lire les message qui sont destinée a un membe... ;)
 
WRInaute impliqué
Tu n'as pas vraiment expliqué le problème. Montre également la structure de la base de donnée.

A+
 
WRInaute discret
Le pb, je n'arrive pas a lire les messgae destiné a un membre, mais ca marche pour l'envoie du message ;)

table pdf_membe : id pseudo pass mail confirm adresseIP clan

Table pdf_mess : id nom destinataire objet message jour_envoi heure_envoi

Merci ;)
 
WRInaute impliqué
Ben quand un membre se connecte tu ouvres des sessions non ? Ben tu mets l'id du membre dans la session et quand il va sur sa boite tu séléctionne tous les message qui lui sont destiné.

A+
 
WRInaute impliqué
Ce que je comprend pas, c'est que tu arrives facilement à insérer le message mais pas à le récupérer... Pourtant si on prend un peu de recule c'est pas compliqué.

Quand un membre se connecte, tu récupères bien des informations sur lui, genre Pseudo, IDMembre, etc. pour par exemple afficher sur un partie du genre "Bonjour Pierre".

Donc si tu as ce genre d'information, quand tu vas sur la page pour afficher les messages d'un membre tu fais ceci :
Code:
$requete1 = mysql_query("SELECT * FROM pdf_mess WHERE destinataire='".$IDMembre."'");
 
WRInaute discret
Voila mon fichier lecture_message.php, mais ca ne marche pas!! :(


Code:
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab

if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
	die('Vous n\'êtes pas autorisez à acceder à cette page.'); //Si non, on arrete le script et on affiche un message
}

$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$IDmembre = $_SESSION['id'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);
$requete1 = mysql_query("SELECT * FROM pdf_mess WHERE destinataire='".$IDMembre."'")or die (mysql_error()); 
$result1 = mysql_fetch_array($requete1)or die (mysql_error());


$mail = $result['mail'];
$clan = $result['clan'];
$destinataire = $result['destinataire'];
$nom = $result['nom'];


/* On peut recuperer plus d'info si besoin */

		#################
		###Nouveau message??###
		#################
		
		echo "$pseuso_membre, Vous avez un nouveau message de $nom";
			
		
?>
<html>
<?php echo"$resultat" ?>

</html>
 
Nouveau WRInaute
Le champ : $IDmembre = $_SESSION['id']; doit être chargé au moment de la connexion.
Sinon ce champ reste vide.

A la connexion tu récupère bien les données de ta table et les met en session, comme par exemple ton
$pseudo_membre = $_SESSION['pseudo'];
que tu récupère ici.
Fait de même avec l'ID et ça devrai marcher.

Edit: OUPS :D j'avais pas vu que ce meessage datais de 2006... je suis tombé dessus par hasard dans mes recherches...
 
Discussions similaires
Haut