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
[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE?[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE? par JeremyJeanson
Avec la sortie de la RC de Visual Studio 2010, Microsoft a mis un peu les points sur leS i en ce qui concernait le passage d'arguments. Mais nous somme un certain nombre à avoir pris ce changement comme un coup dur. Pour résumer la situation : à la sortie...
Cliquez pour lire la suite de l'article par JeremyJeanson [RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|