bjr a tous ...
lors des envois des messages d'un membre a un autre, le membre en question doit choisir dans une liste deroulante l'autres membre a qui il veux envoyer les messages... en faite je voudrais retirer cette liste deroulante et lorsqu'il essais d'envoyer un message a l'autre membre je voudrais que son id ou pseudo apparait directement... comme sa pas besoin de choisir dans la liste deroulante.
voici le code :
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
// si ce n'est pas le cas, on le redirige vers l'accueil
header ('Location: index.php');
exit();
}
// 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 = 'Au moins un des champs est vide.';
}
else {
// Parametres de connexion à la base de données
include ('bdd.php');
mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
// si tout a été bien rempli, on insère le message dans notre table SQL
$sql = 'INSERT INTO messages 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.'<br />'.mysql_error());
mysql_close();
header('Location: confirmationmessage.html');
exit();
}
}
?>
<html>
<head>
<title>Message</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design sombre" href="visualisationmembres.css"/>
</head>
<body>
<center><b>
Rechercher son pseudo dans le menu déroulant :</center></b><br /><br />
<?php
// CODE A MODIFIER SI POSSIBLE ///////////////////////////////////////////////////////////////////////////////////////////////////////
// Parametres de connexion à la base de données
include ('bdd.php');
mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
// 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 membre.login as nom_destinataire, membre.id as id_destinataire FROM membre WHERE id <> "'.$_SESSION['id'].'" ';
// on lance notre requete SQL
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.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="messagemembre.php" method="post">
<center><b>Envoyer un message à : </b><select name="destinataire"></center><br>
<?php
// on alimente le menu déroulant avec les login des différents membres du site
if ($data = mysql_fetch_array($req)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
// FIN DE CE CODE
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
?>
</select><br />
<table align="center" border="0" style='width:200.5pt;border:solid fuchsia .5pt;
background:#FFFF99;padding:0cm 3.5pt 0cm 3.5pt'>
<tr>
<td valign=middle align=right style="color:red"><b>Titre:</b></td>
<td><input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo stripslashes(htmlentities(trim($_POST['titre']))); ?>"><br /></td>
</tr>
<tr>
<td valign=middle align=right style="color:red"><b>Message:</b></td>
<td><textarea name="message" rows=7 cols=35><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea><br /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="go" value="Envoyer"></td>
</tr>
</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 '<br /><br />',$erreur;
?>
</body>
</html>