Accueil > > > MESSAGERIE INTERNE AVEC FICHIER TEXTE
MESSAGERIE INTERNE AVEC FICHIER TEXTE
Information sur la source
Description
Re voici le code php/html d'une petite messagerie interne, les mails sont conservés dans un fichier texte sur votre serveur. Il faut être membre du site pour pouvoir accéder à la messagerie. Le code php ouvre le fichier de l'utilisateur, puis récupére les infos dans 4 tableaux, emetteur titre date d'envoie et message, puis les affichent dans un tableau sur la page. Une petite fonction javascript permet de ne dévoiller le contenu du message uniquement si on clique sur son titre. //////////NOUVEAUX CODES SOURCES\\\\\\\\\\\\\\ SUITE AUX COMMENTAIRES J'AI REPRIS MON CODE, j'ai ajouté les pages d'accueil, d'inscription et de recherche de membres. J'ai également créée un style.css très léger car tout les gouts sont dans la nature c'est à vous de modifier à votre convenance. Merci pour vos remarques
Source
- /* L'index */
- <?php
- session_start();
-
- if($_REQUEST['ko'] == "se déconnecter"){
- unset($_SESSION['login']);
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml">
-
- <head>
-
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" type="text/css" href="style.css" />
- <title> Accueil : connectez vous et consultez vos messages !</title>
- </head>
-
- <body>
-
- <h1>Bienvenue sur votre messagerie !</h1>
- <?php
-
- /*Si déjà connecté */
- if($_SESSION['login']){
- $mess = '<h2>Vous êtes connecté !</h2>';
- $mess.= '<h2>Vous pouvez consulter vos message !</h2>';
- $mess.= '<h2><a href="messagerie.php" >Messagerie</a></h2></body></html>';
- echo $mess;
- unset($mess);
- exit();
- }
- /*Formulaire de connexion posté*/
- if($_REQUEST['conexion'] == 'se connecter'){
- /*Vérification des champs*/
- if( empty($_REQUEST['pseudo']) ){
- if( empty($_REQUEST['pass']) ){
- echo 'Vous devez remplir les casses Pseudo et Mot de passe';
- }
- else {
- echo 'Vous devez remplir la casse Pseudo';
- }
- }
- elseif( empty($_REQUEST['pass']) ){
- echo 'Vous devez remplir la casse Mot de Passe';
- }
- else {
- /*Ouverture du fichier user */
- $rep = 'user/user.txt';
- $user = fopen($rep,'r');
- while( $ligne = fgets($user) ) {
- $tab = explode('|', $ligne);
- /*Verification : l'utilisateur est-til inscrit ?*/
- if( ($_REQUEST['pseudo'] == $tab[0]) && ($_REQUEST['pass'] == $tab[1]) ){
- $_SESSION['login'] = $tab[0];
- fclose($user);
- exit ('<h2>Connexion réussie !<br />Vous pouvez consulter vos messages !<br /><a href="messagerie.php?class=d" >Messagerie</a></h2></body></html>');
- }
- }
- fclose($user);
- echo '<h2>Utilisateur inconnu !<br /><a href="enregistrement.php" >S\'enregistrer</a></h2>';
- }
- }
-
- ?>
- <h2>Vous devez vous connecter pour consulter vos messages</h2>
- <h2>Si vous n'avez pas de compte, vous pouvez en créer un : <a href="enregistrement.php">ICI</a></h2>
- <!--Formulaire de connexion -->
- <form method="post" action="">
- <label>Pseudo : </label><input type="text" name="pseudo" size="15" /><br /><br />
- <label>Mot de passe : </label><input type="password" name="pass" size="15" /><br /><br />
- <input class="bouton" type="submit" name="conexion" value="se connecter" />
- <input class="bouton" type="reset" name="effacer" value="effacer" />
- </form>
-
- </body>
- </html>
-
-
- /*L'inscription*/
- <?php
- session_start();
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml">
-
- <head>
-
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" type="text/css" href="style.css" />
- <title> Inscription </title>
- </head>
-
- <body>
-
- <h1>Page d'inscription !</h1>
- <?php
-
- /*Si déjà connecté */
- if($_SESSION['login']){
- $mess = '<h2>Vous êtes déjà inscrit !</h2>';
- $mess.= '<h2>Vous pouvez consulter vos message !</h2>';
- $mess.= '<h2><a href="messagerie.php" >Messagerie</a></h2></body></html>';
- echo $mess;
- unset($mess);
- exit();
- }
-
- /*Le formulaire est posté*/
- if($_REQUEST['inscription'] == 'inscription'){
- /*Vérification des champs*/
- if( empty($_REQUEST['pseudo']) ){
- if( empty($_REQUEST['pass']) ){
- echo 'Vous devez remplir les casses Pseudo et Mot de passe';
- }
- else {
- echo 'Vous devez remplir la casse Pseudo';
- }
- }
- elseif( empty($_REQUEST['pass']) ){
- echo 'Vous devez remplir la casse Mot de Passe';
- }
- /*Si les champs sont remplis inscription dans le fichier*/
- else {
- $rep = 'user/user.txt';
- $deja = fopen($rep,'r');
- while( $ligne = fgets($deja) ) {
- $tab = explode('|', $ligne);
- /*Verification : l'utilisateur est-til inscrit ?*/
- if( ($_REQUEST['pseudo'] == $tab[0]) ){
- fclose($deja);
- exit ('<h2>Ce pseudo existe déjà !<br /><a href="enregistrement.php?" >Recommencer</a></h2></body></html>');
- }
- }
- $user = fopen($rep,'a+');
- $new = $_REQUEST['pseudo'].'|'.$_REQUEST['pass']."|\n";
- /*Inscription réussie*/
- if(fwrite($user,$new)){
- $_SESSION['login'] = $_REQUEST['pseudo'];
- /*Création de son fichier messages*/
- $mess = 'message/'.$_SESSION['login'].'.txt';
- touch($mess,time());
- echo '<h2>Enregistrement réussi !Merci '.$_REQUEST['login'].'<br />Accéder à votre <a href="messagerie.php" >Messagerie</a></h2>';
- fclose($user);
- exit('</body></html>');
- }
- /*Inscription échouée*/
- else {
- echo 'Erreur il va falloir recommencer';
- }
- }
- }
- ?>
- <h2> Vous pouvez dès maintenant vous inscrire </h2>
- <!--Formulaire d'inscription -->
- <form method="post" action="">
- <label>Pseudo : </label><input type="text" name="pseudo" size="15" /><br /><br />
- <label>Mot de passe : </label><input type="password" name="pass" size="15" /><br /><br />
- <input class="bouton" type="submit" name="inscription" value="inscription" />
- <input class="bouton" type="reset" name="effacer" value="effacer" />
- </form>
-
- </body>
- </html>
-
- /*La messagerie*/
- <?php
- session_start();
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml">
-
- <head>
-
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" type="text/css" href="style.css" />
- <title> Messagerie </title>
- <script type="text/javascript" src="functions.js"></script>
- </head>
-
- <body>
- <?php
- /*Si pas connecté pas de messagerie possible !*/
- if(!$_SESSION["login"]){
- $mess = '<h2>Vous n\'êtes pas connecté !</h2>';
- $mess.= '<h2>Vous ne pouvez pas consulter vos message !</h2>';
- $mess.= '<h2>Veuillez vous connecter : <a href="index.php" >ICI</a></h2>';
- $mess.= '<h2>Ou veuillez vous inscrire : <a href="enregistrement.php" >ICI</a></h2></body></html>';
- exit($mess);
- unset($mess);
- }
-
- ?>
-
- <h1>Bienvenue sur votre messagerie <?php echo $_SESSION['login']; ?></h1>
- <h2>Cliquez sur le titre pour afficher le message</h2>
- <h2>Cliquez sur un pseudo pour lui répondre</h2>
- <div id="oko">
- <form metho="post" action="index.php">
- <input type="submit" name="ko" value="se déconnecter" />
- </form>
- </div>
- <?php
- //accés aux messages
- $rep = 'message/'.$_SESSION['login'].'.txt';
- $mamess = fopen($rep,'r');
-
- //Recupération des données
- $i = 0;
- while( $ligne = fgets($mamess) ) {
- $tab = explode('|', $ligne);
- $emeteur['"'.$i.'"'] = $tab[0];
- $titre['"'.$i.'"'] = stripslashes($tab[1]);
- $date['"'.$i.'"'] = $tab[2];
- $mess['"'.$i.'"'] = stripslashes($tab[3]);
- $i ++;
- }
- fclose($mamess);
-
- //Pour effacer un message
- if( substr($_GET['eff'],0,3) == 'sup' ){
- //création d'un fichier temporaire
- $repe = 'message/tmp'.$_SESSION['login'].'.txt';
- $effa = fopen($repe,'w+');
- $ess = strrchr($_GET['eff'], '.');
- $ess = substr($ess, 1);
- $eff = (int)$ess;
-
- //écriture dans le fichier tmp avec ommission du message à effacer
- $stop = count($date);
- for( $k = 0; $k < $stop; $k ++ ){
- if ( $k != $eff ) {
- $text = $emeteur['"'.$k.'"'];
- $text.= '|';
- $text.= $titre['"'.$k.'"'];
- $text.= '|';
- $text.= $date['"'.$k.'"'];
- $text.= '|';
- $text.= $mess['"'.$k.'"'];
- fwrite($effa,$text);
- unset($text);
- }
- unset($text);
- }
-
- fclose($effa);
-
- //Recopie du tmp dans le fichier mail source
- if ( copy($repe,$rep) ) {
- unlink($repe);
- exit('<br /><h3>message effacé</h3><br /><h3><a href=\"messagerie.php?class=d\" >Retour</a></h3>');
- }
- unset($_GET['eff']);
- }
-
- ?>
- <table>
- <tr>
- <th>Emetteur</th>
- <th>Tite</th>
- <th>Envoyé le <?php if($_GET['class'] == 'd'){echo '<a href="messagerie.php?class=c"><img alt=ordre" src="image/fleche2.jpg"></img></a>';}if($_GET['class'] == 'c'){echo '<a href="messagerie.php?class=d"><img alt="ordre" src="image/fleche1.jpg"></img></a>';}?></th>
- <th>Suppression</th>
- </tr>
- <?php
- //Affichage des messages suivants le classement demandé
- if(empty($emeteur)){
- echo '<tr><td colspan="4">Vous n\'avez aucun message désolé !</td></tr>';
- }
- else {
- if( $_GET['class'] == 'd' ) {
- $deb = count($date)-1;
- for( $j = $deb; $j >= 0; $j--){
- $result = '<tr><td><a href="messagerie.php?rep='.$emeteur['"'.$j.'"'].'" >'.$emeteur['"'.$j.'"'].'</a></td>';
- $result.= '<td><div class="menua" id="menua'.$j.'" onclick="afficheMenu(this)" ><a class="re" href="#">'.stripslashes($titre['"'.$j.'"']).'</a></div><div id="sousmenua'.$j.'" style="display:none"><div class="sousmenua">Message :<br />'.stripslashes($mess['"'.$j.'"']).'</div></div></td>';
- $result.= '<td>'.$date['"'.$j.'"'].'</td>';
- $result.= '<td><a href="profil.php?class=d&eff=sup.'.$j.'" ><img alt="poub" src="image/poubelle.gif"></img></a></td></tr>';
- }
- }
- elseif( $_GET['class'] == 'c' ) {
- $stopit = count($date);
- for( $j = 0 ; $j < $stopit ; $j++){
- $result = '<tr><td><a href="messagerie.php?rep='.$emeteur['"'.$j.'"'].'" >'.$emeteur['"'.$j.'"'].'</a></td>';
- $result.= '<td><div class="menua" id="menua'.$j.'" onclick="afficheMenu(this)" ><a class="re" href="#">'.stripslashes($titre['"'.$j.'"']).'</a></div><div id="sousmenua'.$j.'" style="display:none"><div class="sousmenua">Message :<br />'.stripslashes($mess['"'.$j.'"']).'</div></div></td>';
- $result.= '<td>'.$date['"'.$j.'"'].'</td>';
- $result.= '<td><a href="profil.php?class=d&eff=sup.'.$j.'" ><img alt="poub" src="image/poubelle.gif"></img></a></td></tr>';
- }
- }
- echo $result;
- unset($result);
- }
- ?>
- </table>
- <h2>Recherchez un membre pour lui envoyer un message</h2>
- <h2><a href="rechercher">Recherche</a></h2>
-
- <?php
- //Pour répondre aux message
- if( $_GET['rep'] ){
- if ( $_GET['rep'] == $_SESSION['login'] ){
- exit('<h4>Voyons on ne s\'envoie pas de messages à sois-même !!</h4>');
- }
- else {
- $form = '<br /><h2>Répondre à '.$_GET['rep'].'</h2><br />';
- $form.= '<form method="post" action="" >';
- $form.= '<label>Sujet </label>';
- $form.= '<input type="text" name="sujet" size="35" /><br /><br />';
- $form.= '<label>Message</label>';
- $form.= '<textarea name="message" cols="40" rows="4" maxlength="400"></textarea><br /><br />';
- $form.= '<input class="bouton" type="submit" name="envmail" value="envoyer" size="15" />';
- $form.= '<input class="bouton" type="reset" name="ko" value="effacer" size="15" />';
- $form.= '</form>';
- echo $form;
- unset($form);
- }
- }
-
- /*Envoi du mail si form est posté*/
- if( $_REQUEST['envmail'] == 'envoyer') {
- //Ouverture du fichier mail du destinataire
- $rep = 'message/'.$_GET['rep'].'.txt';
- $mess = fopen($rep,'a+');
- $texte = $_SESSION['login'].'|'.$_REQUEST['sujet'].'|'.date("d/m/y").'|'.quotemeta($_REQUEST['message'])."\n";
-
- //ecriture
- if( fwrite($mess,$texte) ) {
- echo '<br />Mail bien envoyé<meta http-equiv="refresh" content="3"; url="messagerie.php?class=d">';
- }
- else {
- echo '<br />Problème lors de l\'envoie du mail!';
- }
- fclose($mess);
- unset($texte);
- exit('</body></html>');
- }
- ?>
- </body>
- </html>
-
- /*La recherche*/
- <?php
- session_start();
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml">
-
- <head>
-
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" type="text/css" href="style.css" />
- <title> Recherche de membres </title>
- </head>
-
- <body>
-
- <h1>Ici vous pouvez recherchez des membres</h1>
- <div id="oko">
- <form method="post" action="index.php">
- <input type="submit" name="ko" value="se déconnecter" />
- </form>
- </div>
- <?php
-
- /*Si déjà connecté */
- if(! $_SESSION['login']){
- $mess = '<h2>Vous devez êtes connecté pour effectuer une recherche !</h2>';
- $mess.= '<h2><a href="index.php" >Accueil</a></h2></body></html>';
- echo $mess;
- unset($mess);
- exit();
- }
- /*Formulaire de connexion posté*/
- if($_REQUEST['chercher'] == 'cherche'){
- /*Vérification des champs*/
- if( empty($_REQUEST['cherchepseudo']) ){
- echo 'Vous devez remplir la casse Pseudo';
- }
- else {
-
- ?>
- <table>
- <tr>
- <th class="messa" >Pseudo</th>
- </tr>
- <?php
- /*Ouverture du fichier user */
- $rep = 'user/user.txt';
- $user = fopen($rep,'r');
- while( $ligne = fgets($user) ) {
- $tab = explode('|', $ligne);
- //Si le mot est dans le fichier user affichage
- if(strstr($tab[0], $_REQUEST['cherchepseudo'])){
- $res = TRUE;
- echo '<tr><td><a href="messagerie.php?class=d&rep='.$tab[0].'" >'.$tab[0].'</td></tr>';
- }
- }
- if(!$res){
- echo '<tr><td>pas de résultat !</td></tr>';
- }
- exit('</table>');
- }
- }
- ?>
- <h2>Entrez le pseudo à rechercher</h2>
- <h2><a href="enregistrement.php">ICI</a></h2>
- <!--Formulaire de connexion -->
- <form method="post" action="">
- <label>Pseudo : </label><input type="text" name="cherchepseudo" size="15" /><br /><br />
- <input class="bouton" type="submit" name="chercher" value="cherche" />
- <input class="bouton" type="reset" name="effacer" value="effacer" />
- </form>
-
- </body>
- </html>
-
- /*Le style*/
- body {
- background-image : url('image/fond.jpg');
- background-repeat : repeat;
- }
-
- label {
- display : block;
- float : left;
- width : 150px;
- margin-left : 450px;
- color : yellow;
- font-weight : bold;
- }
- h1, h2 {
- color : white;
- text-align : center;
- margin-bottom : 50px;
- }
- input.bouton {
- background-color : blue;
- color : white;
- font-weight : bold;
- height : 50px;
- margin-left : 350px;
- }
- table {
- margin-left : 300px;
- border : 2px solid black;
- }
- th, td {
- border : 2px solid black;
- border-collapse : collapse;
- width : 150px;
- }
- th {
- background-color : blue;
- }
- td {
- background-color : #f1a1a1;
- text-align : center;
- }
- #oko {
- float : right;
- margin-right : 15px;
- border : 2px solid red;
- }
/* L'index */
<?php
session_start();
if($_REQUEST['ko'] == "se déconnecter"){
unset($_SESSION['login']);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title> Accueil : connectez vous et consultez vos messages !</title>
</head>
<body>
<h1>Bienvenue sur votre messagerie !</h1>
<?php
/*Si déjà connecté */
if($_SESSION['login']){
$mess = '<h2>Vous êtes connecté !</h2>';
$mess.= '<h2>Vous pouvez consulter vos message !</h2>';
$mess.= '<h2><a href="messagerie.php" >Messagerie</a></h2></body></html>';
echo $mess;
unset($mess);
exit();
}
/*Formulaire de connexion posté*/
if($_REQUEST['conexion'] == 'se connecter'){
/*Vérification des champs*/
if( empty($_REQUEST['pseudo']) ){
if( empty($_REQUEST['pass']) ){
echo 'Vous devez remplir les casses Pseudo et Mot de passe';
}
else {
echo 'Vous devez remplir la casse Pseudo';
}
}
elseif( empty($_REQUEST['pass']) ){
echo 'Vous devez remplir la casse Mot de Passe';
}
else {
/*Ouverture du fichier user */
$rep = 'user/user.txt';
$user = fopen($rep,'r');
while( $ligne = fgets($user) ) {
$tab = explode('|', $ligne);
/*Verification : l'utilisateur est-til inscrit ?*/
if( ($_REQUEST['pseudo'] == $tab[0]) && ($_REQUEST['pass'] == $tab[1]) ){
$_SESSION['login'] = $tab[0];
fclose($user);
exit ('<h2>Connexion réussie !<br />Vous pouvez consulter vos messages !<br /><a href="messagerie.php?class=d" >Messagerie</a></h2></body></html>');
}
}
fclose($user);
echo '<h2>Utilisateur inconnu !<br /><a href="enregistrement.php" >S\'enregistrer</a></h2>';
}
}
?>
<h2>Vous devez vous connecter pour consulter vos messages</h2>
<h2>Si vous n'avez pas de compte, vous pouvez en créer un : <a href="enregistrement.php">ICI</a></h2>
<!--Formulaire de connexion -->
<form method="post" action="">
<label>Pseudo : </label><input type="text" name="pseudo" size="15" /><br /><br />
<label>Mot de passe : </label><input type="password" name="pass" size="15" /><br /><br />
<input class="bouton" type="submit" name="conexion" value="se connecter" />
<input class="bouton" type="reset" name="effacer" value="effacer" />
</form>
</body>
</html>
/*L'inscription*/
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title> Inscription </title>
</head>
<body>
<h1>Page d'inscription !</h1>
<?php
/*Si déjà connecté */
if($_SESSION['login']){
$mess = '<h2>Vous êtes déjà inscrit !</h2>';
$mess.= '<h2>Vous pouvez consulter vos message !</h2>';
$mess.= '<h2><a href="messagerie.php" >Messagerie</a></h2></body></html>';
echo $mess;
unset($mess);
exit();
}
/*Le formulaire est posté*/
if($_REQUEST['inscription'] == 'inscription'){
/*Vérification des champs*/
if( empty($_REQUEST['pseudo']) ){
if( empty($_REQUEST['pass']) ){
echo 'Vous devez remplir les casses Pseudo et Mot de passe';
}
else {
echo 'Vous devez remplir la casse Pseudo';
}
}
elseif( empty($_REQUEST['pass']) ){
echo 'Vous devez remplir la casse Mot de Passe';
}
/*Si les champs sont remplis inscription dans le fichier*/
else {
$rep = 'user/user.txt';
$deja = fopen($rep,'r');
while( $ligne = fgets($deja) ) {
$tab = explode('|', $ligne);
/*Verification : l'utilisateur est-til inscrit ?*/
if( ($_REQUEST['pseudo'] == $tab[0]) ){
fclose($deja);
exit ('<h2>Ce pseudo existe déjà !<br /><a href="enregistrement.php?" >Recommencer</a></h2></body></html>');
}
}
$user = fopen($rep,'a+');
$new = $_REQUEST['pseudo'].'|'.$_REQUEST['pass']."|\n";
/*Inscription réussie*/
if(fwrite($user,$new)){
$_SESSION['login'] = $_REQUEST['pseudo'];
/*Création de son fichier messages*/
$mess = 'message/'.$_SESSION['login'].'.txt';
touch($mess,time());
echo '<h2>Enregistrement réussi !Merci '.$_REQUEST['login'].'<br />Accéder à votre <a href="messagerie.php" >Messagerie</a></h2>';
fclose($user);
exit('</body></html>');
}
/*Inscription échouée*/
else {
echo 'Erreur il va falloir recommencer';
}
}
}
?>
<h2> Vous pouvez dès maintenant vous inscrire </h2>
<!--Formulaire d'inscription -->
<form method="post" action="">
<label>Pseudo : </label><input type="text" name="pseudo" size="15" /><br /><br />
<label>Mot de passe : </label><input type="password" name="pass" size="15" /><br /><br />
<input class="bouton" type="submit" name="inscription" value="inscription" />
<input class="bouton" type="reset" name="effacer" value="effacer" />
</form>
</body>
</html>
/*La messagerie*/
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title> Messagerie </title>
<script type="text/javascript" src="functions.js"></script>
</head>
<body>
<?php
/*Si pas connecté pas de messagerie possible !*/
if(!$_SESSION["login"]){
$mess = '<h2>Vous n\'êtes pas connecté !</h2>';
$mess.= '<h2>Vous ne pouvez pas consulter vos message !</h2>';
$mess.= '<h2>Veuillez vous connecter : <a href="index.php" >ICI</a></h2>';
$mess.= '<h2>Ou veuillez vous inscrire : <a href="enregistrement.php" >ICI</a></h2></body></html>';
exit($mess);
unset($mess);
}
?>
<h1>Bienvenue sur votre messagerie <?php echo $_SESSION['login']; ?></h1>
<h2>Cliquez sur le titre pour afficher le message</h2>
<h2>Cliquez sur un pseudo pour lui répondre</h2>
<div id="oko">
<form metho="post" action="index.php">
<input type="submit" name="ko" value="se déconnecter" />
</form>
</div>
<?php
//accés aux messages
$rep = 'message/'.$_SESSION['login'].'.txt';
$mamess = fopen($rep,'r');
//Recupération des données
$i = 0;
while( $ligne = fgets($mamess) ) {
$tab = explode('|', $ligne);
$emeteur['"'.$i.'"'] = $tab[0];
$titre['"'.$i.'"'] = stripslashes($tab[1]);
$date['"'.$i.'"'] = $tab[2];
$mess['"'.$i.'"'] = stripslashes($tab[3]);
$i ++;
}
fclose($mamess);
//Pour effacer un message
if( substr($_GET['eff'],0,3) == 'sup' ){
//création d'un fichier temporaire
$repe = 'message/tmp'.$_SESSION['login'].'.txt';
$effa = fopen($repe,'w+');
$ess = strrchr($_GET['eff'], '.');
$ess = substr($ess, 1);
$eff = (int)$ess;
//écriture dans le fichier tmp avec ommission du message à effacer
$stop = count($date);
for( $k = 0; $k < $stop; $k ++ ){
if ( $k != $eff ) {
$text = $emeteur['"'.$k.'"'];
$text.= '|';
$text.= $titre['"'.$k.'"'];
$text.= '|';
$text.= $date['"'.$k.'"'];
$text.= '|';
$text.= $mess['"'.$k.'"'];
fwrite($effa,$text);
unset($text);
}
unset($text);
}
fclose($effa);
//Recopie du tmp dans le fichier mail source
if ( copy($repe,$rep) ) {
unlink($repe);
exit('<br /><h3>message effacé</h3><br /><h3><a href=\"messagerie.php?class=d\" >Retour</a></h3>');
}
unset($_GET['eff']);
}
?>
<table>
<tr>
<th>Emetteur</th>
<th>Tite</th>
<th>Envoyé le <?php if($_GET['class'] == 'd'){echo '<a href="messagerie.php?class=c"><img alt=ordre" src="image/fleche2.jpg"></img></a>';}if($_GET['class'] == 'c'){echo '<a href="messagerie.php?class=d"><img alt="ordre" src="image/fleche1.jpg"></img></a>';}?></th>
<th>Suppression</th>
</tr>
<?php
//Affichage des messages suivants le classement demandé
if(empty($emeteur)){
echo '<tr><td colspan="4">Vous n\'avez aucun message désolé !</td></tr>';
}
else {
if( $_GET['class'] == 'd' ) {
$deb = count($date)-1;
for( $j = $deb; $j >= 0; $j--){
$result = '<tr><td><a href="messagerie.php?rep='.$emeteur['"'.$j.'"'].'" >'.$emeteur['"'.$j.'"'].'</a></td>';
$result.= '<td><div class="menua" id="menua'.$j.'" onclick="afficheMenu(this)" ><a class="re" href="#">'.stripslashes($titre['"'.$j.'"']).'</a></div><div id="sousmenua'.$j.'" style="display:none"><div class="sousmenua">Message :<br />'.stripslashes($mess['"'.$j.'"']).'</div></div></td>';
$result.= '<td>'.$date['"'.$j.'"'].'</td>';
$result.= '<td><a href="profil.php?class=d&eff=sup.'.$j.'" ><img alt="poub" src="image/poubelle.gif"></img></a></td></tr>';
}
}
elseif( $_GET['class'] == 'c' ) {
$stopit = count($date);
for( $j = 0 ; $j < $stopit ; $j++){
$result = '<tr><td><a href="messagerie.php?rep='.$emeteur['"'.$j.'"'].'" >'.$emeteur['"'.$j.'"'].'</a></td>';
$result.= '<td><div class="menua" id="menua'.$j.'" onclick="afficheMenu(this)" ><a class="re" href="#">'.stripslashes($titre['"'.$j.'"']).'</a></div><div id="sousmenua'.$j.'" style="display:none"><div class="sousmenua">Message :<br />'.stripslashes($mess['"'.$j.'"']).'</div></div></td>';
$result.= '<td>'.$date['"'.$j.'"'].'</td>';
$result.= '<td><a href="profil.php?class=d&eff=sup.'.$j.'" ><img alt="poub" src="image/poubelle.gif"></img></a></td></tr>';
}
}
echo $result;
unset($result);
}
?>
</table>
<h2>Recherchez un membre pour lui envoyer un message</h2>
<h2><a href="rechercher">Recherche</a></h2>
<?php
//Pour répondre aux message
if( $_GET['rep'] ){
if ( $_GET['rep'] == $_SESSION['login'] ){
exit('<h4>Voyons on ne s\'envoie pas de messages à sois-même !!</h4>');
}
else {
$form = '<br /><h2>Répondre à '.$_GET['rep'].'</h2><br />';
$form.= '<form method="post" action="" >';
$form.= '<label>Sujet </label>';
$form.= '<input type="text" name="sujet" size="35" /><br /><br />';
$form.= '<label>Message</label>';
$form.= '<textarea name="message" cols="40" rows="4" maxlength="400"></textarea><br /><br />';
$form.= '<input class="bouton" type="submit" name="envmail" value="envoyer" size="15" />';
$form.= '<input class="bouton" type="reset" name="ko" value="effacer" size="15" />';
$form.= '</form>';
echo $form;
unset($form);
}
}
/*Envoi du mail si form est posté*/
if( $_REQUEST['envmail'] == 'envoyer') {
//Ouverture du fichier mail du destinataire
$rep = 'message/'.$_GET['rep'].'.txt';
$mess = fopen($rep,'a+');
$texte = $_SESSION['login'].'|'.$_REQUEST['sujet'].'|'.date("d/m/y").'|'.quotemeta($_REQUEST['message'])."\n";
//ecriture
if( fwrite($mess,$texte) ) {
echo '<br />Mail bien envoyé<meta http-equiv="refresh" content="3"; url="messagerie.php?class=d">';
}
else {
echo '<br />Problème lors de l\'envoie du mail!';
}
fclose($mess);
unset($texte);
exit('</body></html>');
}
?>
</body>
</html>
/*La recherche*/
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title> Recherche de membres </title>
</head>
<body>
<h1>Ici vous pouvez recherchez des membres</h1>
<div id="oko">
<form method="post" action="index.php">
<input type="submit" name="ko" value="se déconnecter" />
</form>
</div>
<?php
/*Si déjà connecté */
if(! $_SESSION['login']){
$mess = '<h2>Vous devez êtes connecté pour effectuer une recherche !</h2>';
$mess.= '<h2><a href="index.php" >Accueil</a></h2></body></html>';
echo $mess;
unset($mess);
exit();
}
/*Formulaire de connexion posté*/
if($_REQUEST['chercher'] == 'cherche'){
/*Vérification des champs*/
if( empty($_REQUEST['cherchepseudo']) ){
echo 'Vous devez remplir la casse Pseudo';
}
else {
?>
<table>
<tr>
<th class="messa" >Pseudo</th>
</tr>
<?php
/*Ouverture du fichier user */
$rep = 'user/user.txt';
$user = fopen($rep,'r');
while( $ligne = fgets($user) ) {
$tab = explode('|', $ligne);
//Si le mot est dans le fichier user affichage
if(strstr($tab[0], $_REQUEST['cherchepseudo'])){
$res = TRUE;
echo '<tr><td><a href="messagerie.php?class=d&rep='.$tab[0].'" >'.$tab[0].'</td></tr>';
}
}
if(!$res){
echo '<tr><td>pas de résultat !</td></tr>';
}
exit('</table>');
}
}
?>
<h2>Entrez le pseudo à rechercher</h2>
<h2><a href="enregistrement.php">ICI</a></h2>
<!--Formulaire de connexion -->
<form method="post" action="">
<label>Pseudo : </label><input type="text" name="cherchepseudo" size="15" /><br /><br />
<input class="bouton" type="submit" name="chercher" value="cherche" />
<input class="bouton" type="reset" name="effacer" value="effacer" />
</form>
</body>
</html>
/*Le style*/
body {
background-image : url('image/fond.jpg');
background-repeat : repeat;
}
label {
display : block;
float : left;
width : 150px;
margin-left : 450px;
color : yellow;
font-weight : bold;
}
h1, h2 {
color : white;
text-align : center;
margin-bottom : 50px;
}
input.bouton {
background-color : blue;
color : white;
font-weight : bold;
height : 50px;
margin-left : 350px;
}
table {
margin-left : 300px;
border : 2px solid black;
}
th, td {
border : 2px solid black;
border-collapse : collapse;
width : 150px;
}
th {
background-color : blue;
}
td {
background-color : #f1a1a1;
text-align : center;
}
#oko {
float : right;
margin-right : 15px;
border : 2px solid red;
}
Conclusion
J'espere que ce script pourras servir ! Lachez vous sur les coms PAS DE PITIÉ c'est comme ça qu'on apprend ;)
Le code à changé depuis les commentaires ! TESTEZ LE ;)
ps pour voir mon site : http://julienze.free.fr
Historique
- 29 avril 2009 17:31:22 :
- Suite aux commentaires je modifie ;)
- 02 mai 2009 10:38:12 :
- pour répondre aux commentaires :)
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
FCT mail, piecesjointes, mode html et texte brut [ par olid ]
bonjour,Je voudrais envoyer des mails au format HTML (zà, je zais faire), mais je voudrais que les images de la page html soient inclus en pieces join
aide script de messagerie interne [ par nova ]
salut à tousdébutante en php (enfin pas tant que ça) mais surtout par rapport àl'interfacage avec mysql j'aimerais construire une messagerie interne p
variable string en PHP [ par alainj ]
Bonjour, Je récupére du texte a partir d'un champ de formulaire que je stocke dans une variable.Cette variable fait partie du texte d'un mail.lorque l
Mail et Client Web ? [ par Varod ]
Bonjour,Lors de l'envoie de mail au format HTML, je rencontre des problemes selon les clients web. Certes, il y a le probleme de la lecture des mails
Comment créer ma propre messagerie interne ? [ par GoW ]
Salut à vous tous .J'expose mon problème : j'aimerai me lancer dans la création d'une messagerie interne ( fonction avatar, conne
Problème de code dans un formulaire [ par gateau ]
Bonjour,Je suis on ne peut plus novice en PHP, grâce à des tutoriaux j'ai pu créer un formulaire dans une int
formater le texte d'un formulaire envoyer par mail depuis un source flash, [ par nykos2004 ]
Nykos
fonction mail() [ par dave21 ]
Salut tous le monde,J'ai besoin d'aide sur la fonction mail(), je suis débutant en php, alors svp soyez sympa, expliquez moi en détail, merc
Probleme de pièce jointe lors d'un envoi d'un mail [ par Morgul ]
J'ai le code suivant trouvé sur un site de php: <? $mail="adressemail@hotmail.com"; $mess="contenu du message"; mail
mail html avec piece jointe [ par dartaloufe ]
Bonjour,j'ai récupérer une source sur le site que j'ai ensuite modifier pour pouvoir envoyer plusieurs pieces jointes,les pieces son bien at
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|