Messagerie interne, problème champ nom d'utilisateur.

Signaler
Messages postés
1
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
25 septembre 2011
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
[i]Bonjour(soir),
depuis quelques semaines, je cherche à changer un menu déroulant qui contient les noms d'utilisateurs
pour l'envoi de messages.
Par un champ type text afin d'y-saisir un nom d'utilisateur plutot que d'avoir une trés longue liste, de tous ces membres enregistrés.
Si une bonne âme saurait m'indiquer une marche à suivre, celà m'aiderait énormément./i

<?php
// Vérrification de session
session_start();
if (!isset($_SESSION['identifiant'])) {
header ('Location: ../index.php');
exit();
}

// Vérrification du formulaire
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 {
$base = mysql_connect ('127.0.0.1', 'root', '');
mysql_select_db ('test_db_msgr', $base);

// Si la vérrification du formulaire est réussi :
$requete = 'INSERT INTO messages_membres VALUES("", "'.$_SESSION['id'].'","'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['message']).'")';
mysql_query($requete) or die('Erreur SQL !'.$requete.'
'.mysql_error());

mysql_close();

header('Location: envoyer.php');
echo ('Votre message à bien été envoyé !');
exit();
}
}
?>

<html>
<head>
<title>test_msgr</title>
</head>


[../index.php Retour à l'accueil]


Envoyer un message :



<?php
$base = mysql_connect ('127.0.0.1', 'root', '');
mysql_select_db ('test_db_msgr', $base);

// Requete SQL selectionnant tous les logins 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
$requete = mysql_query('SELECT membre.identifiant as nom_destinataire, membre.id as id_destinataire FROM membre WHERE id <> "'.$_SESSION['id'].'" ORDER BY identifiant ASC') or die ('Erreur SQL !
'.$requete.'
'.mysql_error());
// on lance notre requete SQL

$nb = mysql_num_rows ($requete);

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="envoyer.php" method="post">

<!-- LE PROBLEME DEBUT ---------------------------->
Pour : <select name="destinataire">
<?php 
//on alimente le menu déroulant avec les login des différents membres du site
while ($data = mysql_fetch_array($requete)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
?>
<!-- LE PROBLEME FIN ----------------------------->




Titre : ">

Message : <textarea name="message"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea>


</form>
<?php
}
mysql_free_result($requete);
mysql_close();
?>


<?php
// si une erreur est survenue lors de la soumission du formulaire :
if (isset($erreur)) echo '

',$erreur;
?>

</html>

(Auteur de ce code : "La globule" ['php-facile']).

1 réponse

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

je vois déjà

!-- LE PROBLEME FIN ----------------------------->/color






plutot

!-- LE PROBLEME FIN ----------------------------->/color


</select>



Bonne programmation !