ok oui ca je m'en douté mais je n'y arrive pas j'ai vraiment tout essayé mais la je bloque, pourtant j'ai déjà fait pas aml de tru cen php.. mais la je sèche ca arrive o nva dire mais bon.
Voici le code complet de la page repondre_message.php pourrais-tu regarder et voir comment je pourrais faire merci :
<?php
session_start();
// on teste si le formulaire a bien été soumis
if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') {
if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message'])) {
$erreur = 'Vous devez entrer un texte pour pouvoir envoyer le message';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);
// si tout a été bien rempli, on insère le message dans notre table SQL
mysql_query('INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.$_POST['titre'].'", "'.addslashes($_POST['message']).'","")');
mysql_query('INSERT INTO messages_env VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['titre']).'", "'.addslashes($_POST['message']).'","")');
//mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
mysql_close();
header('Location: espace_membre.php?page=8');
//exit();
}
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
<a href="espace_membre.php?page=8">Retour à l'accueil</a>
Envoyer un message :
<?php
include('includes/functions.inc.php');
// on teste si notre id correspond bien à l'id du message que l'on va lire pour empecher que une autre personne vienne lire ce message
// en effet il faut que ce soit notre id qui est égale à id_message d'éclaré dans la page méssagerie.
//Fonction présente dans la page functions.inc.php pour ce connecter à la base de donné et la table
connecter();
// on prépare une 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 id, titre, date, message, membres.pseudo as expediteur FROM messages, membres WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membres.id_membre AND messages.id="'.$_GET['id_message'].'"';
// on lance cette requete SQL à MySQL
$id_message=$_GET['id_message']; // permet de stocker la varialbe id_message lorsque l'on clique sur le lien pour le traitement plus bas de la varialbe lu, afin de bien spécifier que le message à était consulté
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$nb = mysql_num_rows($req); //Variable comportent la requête mysql_num_rows qui permet de contabiliser le nombre de données dans la table (tuples)
//instruction "si" pour déterminer si il y a un message dans la table
if ($nb == 0) {
echo 'Aucun message reconnu.'; //si elle est à 0 on affiche alors qu'il n'y a pas de message dans la table
}
else { // sinon on les affiches
//permet de passer la valeur lu=0 à 1 dans la table lorsque la personne à lu le message grace à la valeur stocker précédement
$messagerie=mysql_query("SELECT * FROM messages WHERE id='$id_message'") or die (mysql_error()); // on fait une requête sur la table qui va sélectionner que les message correspondant l'id du lecteur du message
mysql_query("UPDATE messages SET lu='1' WHERE id='$id_message'") or die (mysql_error()); // et on modifie la varible lu à 1
//traitement pour l'affichage du message recu
//ici on travail la chaîne de caractère afin de mettre la date dans le bonne ordre jours/mois/années
$data = mysql_fetch_array($req);
$annee = substr($data['date'],0,4);
$mois = substr($data['date'],5,2);
$jours = substr($data['date'],8,2);
$date_mess1 = "$jours/$mois/$annee";
$date_mess2 = substr($data['date'],11);
$date = stripslashes(htmlentities(trim("$date_mess1 à $date_mess2")));
//Ensuite on gère le sujet du message, l'expéditeur et le message en lui même
$sujet = stripslashes(htmlentities(trim($data['titre'])));
$expediteur = stripslashes(htmlentities(trim($data['expediteur'])));
$message = nl2br(stripslashes(htmlentities(trim($data['message']))));
// puis on vient travailler l'affichage par des tableau ect....
echo"<table width='60%' border align='center' cellpadding='0' cellspacing='0' bordercolor='#000000'><tr>
<td width='20%'>
Message de : $expediteur<br><br>$date</td>
<td width='30%'>Sujet du message : $sujet <br><br>$message</td>
</tr></table>";
}
mysql_free_result($req); // on efface de la mémoire la requête
mysql_close(); // on ferme la connexion à la base de donner le script de cette page est terminer
?>
<?php
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);
// on prépare une requete SQL selectionnant tous les login des membres du site en prenant soin de ne pas selectionner notre propre login, le tout, servant à alimenter le menu déroulant spécifiant le destinataire du message
$sql = 'SELECT membres.pseudo as nom_destinataire, membres.id_membre as id_destinataire FROM membres WHERE id_membre <> "'.$_SESSION['id'].'" ORDER BY pseudo ASC';
// on lance notre requete SQL
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$nb = mysql_num_rows ($req);
if ($nb == 0) {
// si aucun membre n'a été trouvé, on affiche tout simplement aucun formulaire
echo 'Vous êtes le seul membre inscrit.';
}
else {
// si au moins un membre qui n'est pas nous même a été trouvé, on affiche le formulaire d'envoie de message
?>
<form action="repondre_mess.php?id_message=<?php echo"$id_message";?>" method="post">
<div align="center">
<table>
<tr>
<td>Pour :</td>
<td> <select name="destinataire">
<?php
// on alimente le menu déroulant avec les login des différents membres du site
while ($data = mysql_fetch_array($req)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
?>
</select></td>
</tr>
<tr>
<td> Titre : </td>
<td> <input type="text" name="titre" value="Re :<?php echo stripslashes(htmlentities(trim($sujet))); ?>">
</td>
</tr>
<tr>
<td> Message : </td>
<td> <textarea name="message" rows="10" cols="40"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea>
</td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<input type="submit" name="go" value="Envoyer"></div>
</td>
</tr>
</table>
</div>
</form>
<?php
}
mysql_free_result($req);
mysql_close();
?>
</select>
<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '',$erreur;
?>
</body>
</html>