Script php impossible de lire mes message!
Fermé
micka30
Messages postés
102
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
4 juin 2008
-
10 janv. 2008 à 17:44
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 - 11 janv. 2008 à 12:43
micka30 Messages postés 102 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 4 juin 2008 - 11 janv. 2008 à 12:43
A voir également:
- Script php impossible de lire mes message!
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Message - Guide
- Lire epub - Guide
- Script vidéo youtube - Guide
- Recuperer message whatsapp supprimé - Guide
7 réponses
micka30
Messages postés
102
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
4 juin 2008
5
10 janv. 2008 à 17:48
10 janv. 2008 à 17:48
suite du message:
<input type="submit" value="Envoyer le message" />
</form>
<?php
}
// sinon c'est une réponse
else
{
// on récupère les données du mp dont l'id est égale à celui auquel on veut répondre
$retour_reponse = mysql_query("SELECT sujet, expediteur FROM mp WHERE id='".$_GET['reponse']."'");
$donnees_reponse = mysql_fetch_assoc($retour_reponse);
?>
<form action="mp.php?action=traitement" method="post">
<!-- on met RE : devant le sujet auquel on répond -->
<label>Sujet :<input type="text" name="sujet" value="RE : <?php echo $donnees_reponse['sujet'];?>"/></label>
<label>Destinataire :<input type="text" name="destinataire" value="<?php echo $donnees_reponse['expediteur']; ?>"/></label>
<label>Message :<textarea name="message" rows="10" cols="40"></textarea></label>
<input type="submit" value="Envoyer le message" />
</form>
<?php
}
}
// sinon si la variable $_GET['action'] est égale à 'traitement' alors on traite les données envoyées par le fomulaire
elseif(isset($_GET['action']) AND $_GET['action'] == 'traitement' AND $_SESSION['logged'] == true)
{
// si le message le sujet et le destinataire ne sont pas vide
if(!empty($_POST['sujet']) AND !empty($_POST['destinataire']) AND !empty($_POST['message']))
{
// on regarde si il existe une entrée avec le pseudo du destinataire
$nbr_entree = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM infoclients WHERE pseudo='".$_POST['destinataire']."'")or die(mysql_error());
$nbr_entrees = mysql_fetch_assoc($nbr_entree);
// si il existe
if($nbr_entrees['nbre_entrees'] == 1)
{
// on sécurise les valeurs envoyées
$sujet = addslashes(htmlentities($_POST['sujet']));
$destinataire = addslashes(htmlentities($_POST['destinataire']));
$message = addslashes(nl2br(htmlentities($_POST['message'])));
$expediteur = $_SESSION['pseudo'];
$timestamp = time();
// on récupère le dernier message envoyé au destinataire
$retour = mysql_query("SELECT destinataire, sujet, message FROM mp WHERE expediteur='$expediteur' ORDER BY id DESC LIMIT 0,1");
$donnees = mysql_fetch_assoc($retour);
// si c'est le même que celui qu'on veut envoyer
if($donnees['destinataire'] == $destinataire AND $donnees['sujet'] == $sujet AND $donnees['message'] == $message)
{
// on l'enregistre pas et on affiche un message d'erreur
echo 'Vous ne pouvez pas poster le même message 2 fois d\'affilée';
}
// sinon ce n'est pas un double post
else
{
// alors on enregistre dans la base de données
mysql_query("INSERT INTO mp(sujet, expediteur, destinataire, message, timestamp, vu, efface) VALUES('" . $sujet . "', '" . $expediteur . "', '" . $destinataire . "', '" . $message . "', '" . $timestamp . "', '0', '0')")or die(mysql_error());
// on met un message
echo 'Votre message a bien été envoyé à '.$destinataire.'. Vous allez être redirigé vers votre boîte de réception dans une seconde.';
// et on redirige vers la boîte de réception
redirection('mp.php');
}
}
// sinon le membre n'est pas enregistré dans la table
else
{
// alors on affiche un message d'erreur
echo 'Le membre à qui vous souhaitez envoyer ce message n\'existe pas/plus. Vous allez être redirigé vers votre boîte de réception dans 2 secondes';
// et on redirige vers la boîte de réception
redirection('mp.php');
}
}
// sinon tous les champs sont pas remplis
else
{
// alors on affiche un message d'erreur et un lien
echo 'Vous devez remplir tout les champs. <a href="mp.php?action=ecrire">Recommencer</a>.';
}
}
// sinon si la variable $_Get['action'] est égale à 'LireMpRecu' on affiche la boîte d'envoi
elseif($_GET['action'] == 'LireMpRecu' AND $_SESSION['logged'] == true AND !isset($_GET['mp']))
{
// on récupère les messages qu'on a envoyés et que l'on n'a pas supprimé
$retour = mysql_query("SELECT id, destinataire, sujet, timestamp FROM mp WHERE expediteur='".$_SESSION['pseudo']."' AND (efface='0' OR efface='1') ORDER BY id DESC")or die(mysql_error());
?>
<table class="table">
<caption class="caption">Messages envoyés</caption>
<thead>
<th class="th">Sujet</th>
<th class="th">Destinataire</th>
<th class="th">Date</th>
</thead>
<tfoot>
<th class="th">Sujet</th>
<th class="th">Destinataire</th>
<th class="th">Date</th>
</tfoot>
<tbody>
<?php
// on crée une boucle avec les entrées de la table
while($donnees = mysql_fetch_assoc($retour))
{
// on enlève les éventuelles slashs en trop
$sujet = stripslashes($donnees['sujet']);
$destinataire = stripslashes($donnees['destinataire']);
$date = $donnees['timestamp'];
// on ajoute une ligne au tableau pour chaque message
echo'<tr><td class="td"><a href="mp.php?mp='.$donnees['id'].'&action=lire">'.$sujet.'</a></td><td class="td">'.$destinataire.'</td><td class="td">Le' .date('d/m/Y \à H\hi', $date).'</td><td class="td"><a href="mp.php?action=supprimer&suppr=2&id='.$donnees['id'].'">Supprimer ce message</a></td></tr>';
// on ferme la boucle
}
?>
</tbody>
</table>
<p><a href="mp.php">Boîte de réception</a>
<a href="mp.php?action=ecrire">Ecrire un nouveau message</a></p>
<?php
// on ferme la condition
}
// si la variable $_GET['id'] qui contient l'id du message existe, si la variable $_GET['suppr'] qui indique qui a supprimé le message (destinataire ou expéditeur) existe et si le variable $_GET['action'] est égale à 'supprimer' qui indique la suppression d'un message alors on le supprime.
elseif(isset($_GET['action']) AND isset($_GET['suppr']) AND isset($_GET['id']) AND $_GET['action'] == 'supprimer')
{
$id = $_GET['id'];
// si c'est l'expéditeur qui supprime le message alors
if($_GET['suppr'] == 2)
{
// on récupère les données où l'id du message à supprimer est égale à l'id d'un message
$retour = mysql_query("SELECT expediteur, efface FROM mp WHERE id='".$id."'")or die(mysql_error());
// on les met dans un array
$donnees = mysql_fetch_assoc($retour);
// si l'expéditeur est bien le membre qui veut supprimer le message
if($_SESSION['pseudo'] == $donnees['expediteur'])
{
// et si le message a déjà été supprimé par le destinataire
if($donnees['efface'] == 1)
{
// on supprime l'entrée correspondante de la table
mysql_query("DELETE FROM mp WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
// et on redirige
redirection('mp.php');
}
// sinon si le message n'a pas été supprimé par le destinataire
elseif($donnees['efface'] == 0)
{
// alors on modifie le champ efface par 2 pour que le destinataire puisse encore voir le message
mysql_query("UPDATE mp SET efface='2' WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
// et on redirige
redirection('mp.php');
}
// sinon
else
{
// on affiche un message d'erreur
echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultèrieurement.';
}
}
// sinon le membre qui veut supprimer le message n'est pas l'expéditeur
else
{
// donc on affiche un message d'erreur
echo 'Vous ne pouvez pas supprimer un message que vous n\'avez pas envoyé vous même.';
}
}
// sinon si c'est le destinataire qui veut supprimer un message
elseif($_GET['suppr'] == 1)
{
// on récupère les données sur le message que l'on veut supprimer
$retour = mysql_query("SELECT destinataire, efface FROM mp WHERE id='".$id."'")or die(mysql_error());
// on les met dans un array
$donnees = mysql_fetch_assoc($retour);
// si le destinataire du message est bien le membre qui veut supprimer le message
if($_SESSION['pseudo'] == $donnees['destinataire'])
{
// et si le message a été supprimé par l'expéditeur
if($donnees['efface'] == 2)
{
// alors on supprime l'entrée correspondante de la table
mysql_query("DELETE FROM mp WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
// et on redirige
redirection('mp.php');
}
// sinon si le message n'a pas été supprimé par l'expéditeur
elseif($donnees['efface'] == 0)
{
// alors on modifie la valeur de efface par 1 pour que l'expéditeur puisse encore voir le message
mysql_query("UPDATE mp SET efface='1' WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
//et on redirige
redirection('mp.php');
}
// sinon
else
{
// on affiche un message d'erreur
echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultèrieurement.';
}
}
// sinon le membre qui veut supprimer le message n'est pas le destinataire de celui-ci
else
{
// donc on affiche un message d'erreur
echo 'Vous ne pouvez pas supprimer un message qui ne vous a pas été envoyé.';
}
}
// sinon l'action demandée n'existe pas($_GET['action'])
else
{
// alors on affiche un message d'erreur
echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultérieurement.';
}
}
// sinon on met un message d'erreur qui envoie un lien pour se connecter.
else
{
echo 'Vous n\'êtes pas connecté ou une erreur est survenue lors de votre demande veuillez recommencer ultérieurement.<a href="premierpage.php">Se connecter</a>';
}
mysql_close();
?>
</body>
</html><!-- Rappel : fin de la page -->
<input type="submit" value="Envoyer le message" />
</form>
<?php
}
// sinon c'est une réponse
else
{
// on récupère les données du mp dont l'id est égale à celui auquel on veut répondre
$retour_reponse = mysql_query("SELECT sujet, expediteur FROM mp WHERE id='".$_GET['reponse']."'");
$donnees_reponse = mysql_fetch_assoc($retour_reponse);
?>
<form action="mp.php?action=traitement" method="post">
<!-- on met RE : devant le sujet auquel on répond -->
<label>Sujet :<input type="text" name="sujet" value="RE : <?php echo $donnees_reponse['sujet'];?>"/></label>
<label>Destinataire :<input type="text" name="destinataire" value="<?php echo $donnees_reponse['expediteur']; ?>"/></label>
<label>Message :<textarea name="message" rows="10" cols="40"></textarea></label>
<input type="submit" value="Envoyer le message" />
</form>
<?php
}
}
// sinon si la variable $_GET['action'] est égale à 'traitement' alors on traite les données envoyées par le fomulaire
elseif(isset($_GET['action']) AND $_GET['action'] == 'traitement' AND $_SESSION['logged'] == true)
{
// si le message le sujet et le destinataire ne sont pas vide
if(!empty($_POST['sujet']) AND !empty($_POST['destinataire']) AND !empty($_POST['message']))
{
// on regarde si il existe une entrée avec le pseudo du destinataire
$nbr_entree = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM infoclients WHERE pseudo='".$_POST['destinataire']."'")or die(mysql_error());
$nbr_entrees = mysql_fetch_assoc($nbr_entree);
// si il existe
if($nbr_entrees['nbre_entrees'] == 1)
{
// on sécurise les valeurs envoyées
$sujet = addslashes(htmlentities($_POST['sujet']));
$destinataire = addslashes(htmlentities($_POST['destinataire']));
$message = addslashes(nl2br(htmlentities($_POST['message'])));
$expediteur = $_SESSION['pseudo'];
$timestamp = time();
// on récupère le dernier message envoyé au destinataire
$retour = mysql_query("SELECT destinataire, sujet, message FROM mp WHERE expediteur='$expediteur' ORDER BY id DESC LIMIT 0,1");
$donnees = mysql_fetch_assoc($retour);
// si c'est le même que celui qu'on veut envoyer
if($donnees['destinataire'] == $destinataire AND $donnees['sujet'] == $sujet AND $donnees['message'] == $message)
{
// on l'enregistre pas et on affiche un message d'erreur
echo 'Vous ne pouvez pas poster le même message 2 fois d\'affilée';
}
// sinon ce n'est pas un double post
else
{
// alors on enregistre dans la base de données
mysql_query("INSERT INTO mp(sujet, expediteur, destinataire, message, timestamp, vu, efface) VALUES('" . $sujet . "', '" . $expediteur . "', '" . $destinataire . "', '" . $message . "', '" . $timestamp . "', '0', '0')")or die(mysql_error());
// on met un message
echo 'Votre message a bien été envoyé à '.$destinataire.'. Vous allez être redirigé vers votre boîte de réception dans une seconde.';
// et on redirige vers la boîte de réception
redirection('mp.php');
}
}
// sinon le membre n'est pas enregistré dans la table
else
{
// alors on affiche un message d'erreur
echo 'Le membre à qui vous souhaitez envoyer ce message n\'existe pas/plus. Vous allez être redirigé vers votre boîte de réception dans 2 secondes';
// et on redirige vers la boîte de réception
redirection('mp.php');
}
}
// sinon tous les champs sont pas remplis
else
{
// alors on affiche un message d'erreur et un lien
echo 'Vous devez remplir tout les champs. <a href="mp.php?action=ecrire">Recommencer</a>.';
}
}
// sinon si la variable $_Get['action'] est égale à 'LireMpRecu' on affiche la boîte d'envoi
elseif($_GET['action'] == 'LireMpRecu' AND $_SESSION['logged'] == true AND !isset($_GET['mp']))
{
// on récupère les messages qu'on a envoyés et que l'on n'a pas supprimé
$retour = mysql_query("SELECT id, destinataire, sujet, timestamp FROM mp WHERE expediteur='".$_SESSION['pseudo']."' AND (efface='0' OR efface='1') ORDER BY id DESC")or die(mysql_error());
?>
<table class="table">
<caption class="caption">Messages envoyés</caption>
<thead>
<th class="th">Sujet</th>
<th class="th">Destinataire</th>
<th class="th">Date</th>
</thead>
<tfoot>
<th class="th">Sujet</th>
<th class="th">Destinataire</th>
<th class="th">Date</th>
</tfoot>
<tbody>
<?php
// on crée une boucle avec les entrées de la table
while($donnees = mysql_fetch_assoc($retour))
{
// on enlève les éventuelles slashs en trop
$sujet = stripslashes($donnees['sujet']);
$destinataire = stripslashes($donnees['destinataire']);
$date = $donnees['timestamp'];
// on ajoute une ligne au tableau pour chaque message
echo'<tr><td class="td"><a href="mp.php?mp='.$donnees['id'].'&action=lire">'.$sujet.'</a></td><td class="td">'.$destinataire.'</td><td class="td">Le' .date('d/m/Y \à H\hi', $date).'</td><td class="td"><a href="mp.php?action=supprimer&suppr=2&id='.$donnees['id'].'">Supprimer ce message</a></td></tr>';
// on ferme la boucle
}
?>
</tbody>
</table>
<p><a href="mp.php">Boîte de réception</a>
<a href="mp.php?action=ecrire">Ecrire un nouveau message</a></p>
<?php
// on ferme la condition
}
// si la variable $_GET['id'] qui contient l'id du message existe, si la variable $_GET['suppr'] qui indique qui a supprimé le message (destinataire ou expéditeur) existe et si le variable $_GET['action'] est égale à 'supprimer' qui indique la suppression d'un message alors on le supprime.
elseif(isset($_GET['action']) AND isset($_GET['suppr']) AND isset($_GET['id']) AND $_GET['action'] == 'supprimer')
{
$id = $_GET['id'];
// si c'est l'expéditeur qui supprime le message alors
if($_GET['suppr'] == 2)
{
// on récupère les données où l'id du message à supprimer est égale à l'id d'un message
$retour = mysql_query("SELECT expediteur, efface FROM mp WHERE id='".$id."'")or die(mysql_error());
// on les met dans un array
$donnees = mysql_fetch_assoc($retour);
// si l'expéditeur est bien le membre qui veut supprimer le message
if($_SESSION['pseudo'] == $donnees['expediteur'])
{
// et si le message a déjà été supprimé par le destinataire
if($donnees['efface'] == 1)
{
// on supprime l'entrée correspondante de la table
mysql_query("DELETE FROM mp WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
// et on redirige
redirection('mp.php');
}
// sinon si le message n'a pas été supprimé par le destinataire
elseif($donnees['efface'] == 0)
{
// alors on modifie le champ efface par 2 pour que le destinataire puisse encore voir le message
mysql_query("UPDATE mp SET efface='2' WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
// et on redirige
redirection('mp.php');
}
// sinon
else
{
// on affiche un message d'erreur
echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultèrieurement.';
}
}
// sinon le membre qui veut supprimer le message n'est pas l'expéditeur
else
{
// donc on affiche un message d'erreur
echo 'Vous ne pouvez pas supprimer un message que vous n\'avez pas envoyé vous même.';
}
}
// sinon si c'est le destinataire qui veut supprimer un message
elseif($_GET['suppr'] == 1)
{
// on récupère les données sur le message que l'on veut supprimer
$retour = mysql_query("SELECT destinataire, efface FROM mp WHERE id='".$id."'")or die(mysql_error());
// on les met dans un array
$donnees = mysql_fetch_assoc($retour);
// si le destinataire du message est bien le membre qui veut supprimer le message
if($_SESSION['pseudo'] == $donnees['destinataire'])
{
// et si le message a été supprimé par l'expéditeur
if($donnees['efface'] == 2)
{
// alors on supprime l'entrée correspondante de la table
mysql_query("DELETE FROM mp WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
// et on redirige
redirection('mp.php');
}
// sinon si le message n'a pas été supprimé par l'expéditeur
elseif($donnees['efface'] == 0)
{
// alors on modifie la valeur de efface par 1 pour que l'expéditeur puisse encore voir le message
mysql_query("UPDATE mp SET efface='1' WHERE id='".$id."'")or die(mysql_error());
// on affiche un message
echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.';
//et on redirige
redirection('mp.php');
}
// sinon
else
{
// on affiche un message d'erreur
echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultèrieurement.';
}
}
// sinon le membre qui veut supprimer le message n'est pas le destinataire de celui-ci
else
{
// donc on affiche un message d'erreur
echo 'Vous ne pouvez pas supprimer un message qui ne vous a pas été envoyé.';
}
}
// sinon l'action demandée n'existe pas($_GET['action'])
else
{
// alors on affiche un message d'erreur
echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultérieurement.';
}
}
// sinon on met un message d'erreur qui envoie un lien pour se connecter.
else
{
echo 'Vous n\'êtes pas connecté ou une erreur est survenue lors de votre demande veuillez recommencer ultérieurement.<a href="premierpage.php">Se connecter</a>';
}
mysql_close();
?>
</body>
</html><!-- Rappel : fin de la page -->
micka30
Messages postés
102
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
4 juin 2008
5
10 janv. 2008 à 21:57
10 janv. 2008 à 21:57
up svp!!
micka30
Messages postés
102
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
4 juin 2008
5
10 janv. 2008 à 23:01
10 janv. 2008 à 23:01
up
globalslyced
Messages postés
54
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
23 mars 2010
3
11 janv. 2008 à 10:37
11 janv. 2008 à 10:37
salut,
Je vois que dans ton code tu a créer un fonction "connexion" :
Tu es sûr de ne pas avoir oublié quelque chose là-dedans ? Le mot de passe ??
Ecris ça comme sa :
En remplaçant bien sûr ^^ !
Je vois que dans ton code tu a créer un fonction "connexion" :
function connexion() { mysql_connect('localhost', 'root', ''); mysql_select_db('sitemicka'); }
Tu es sûr de ne pas avoir oublié quelque chose là-dedans ? Le mot de passe ??
Ecris ça comme sa :
function connexion() { mysql_connect('localhost', 'root','password' "); mysql_select_db('sitemicka'); }
En remplaçant bien sûr ^^ !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
micka30
Messages postés
102
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
4 juin 2008
5
11 janv. 2008 à 10:41
11 janv. 2008 à 10:41
bonjour!
merci de ta reponse.
non , je travaille sur mon pc il ny a pas besion de mot de passe.
de plus , je vois que j'ai des message mes je ne peut pas les lire donc la connexion avec la bdd s'effectue sans problême.
merci de ta reponse.
non , je travaille sur mon pc il ny a pas besion de mot de passe.
de plus , je vois que j'ai des message mes je ne peut pas les lire donc la connexion avec la bdd s'effectue sans problême.
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
11 janv. 2008 à 10:57
11 janv. 2008 à 10:57
salut,
tu devrais faire plus long et sans mettre en page avec le bouton ad hoc, un vrai plaisir à lire !
-:oþ
farci ton code avec 'echo()' pour tracer la valeur de tes variables (surtout '$_GET['action']') qu'on avance un peu.
tu devrais faire plus long et sans mettre en page avec le bouton ad hoc, un vrai plaisir à lire !
-:oþ
farci ton code avec 'echo()' pour tracer la valeur de tes variables (surtout '$_GET['action']') qu'on avance un peu.
micka30
Messages postés
102
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
4 juin 2008
5
11 janv. 2008 à 12:43
11 janv. 2008 à 12:43
a dsl je ne savais pas qu'ill y avais des balise code sur ce site!
<?php // on commence par ouvrir la session session_start(); $_SESSION['pseudo']; // on inclut le fichier includes/fonction.php require('fonction.php'); // on utilise la fonction connexion définit dans includes/fonction.php connexion(); if($_SESSION['logged'] == true AND !isset($_GET['mp']) AND !isset($_GET['action'])) { // on compte le nombre de messages non lus et dont le destinataire est le membre actuellement connecté $nbr_non_vus = mysql_query("SELECT COUNT(*) AS nbre FROM mp WHERE destinataire='".$_SESSION['pseudo']."' AND vu='0' AND (efface='0' OR efface='2')")or die(mysql_error()); // on en fait un array $nbre_non_vus = mysql_fetch_assoc($nbr_non_vus); // on récupère les données sur les messages adressés au membre connecté. $retour = mysql_query("SELECT id, sujet, expediteur, timestamp, vu FROM mp WHERE destinataire='".$_SESSION['pseudo']."' AND (efface='0' OR efface='2') ORDER BY id DESC"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <!-- Rappel : debut de la page --> <head><!-- Rappel : debut information d'en tète --> <title>uncupidon.com</title> <br /> <!-- Rappel : titre de la page --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design1" href="design1.css" /> </head><!-- Rappel : fin information d'en tète --> <body> <!-- Rappel : c'est ici que l'on écrit le contenu de notre page web --> <table class="table"> <caption class="caption">Boîte de réceptions</caption> <thead> <th class="th"><em>Lu</em>/<strong>Non lu (<?php echo $nbre_non_vus['nbre'];?>)</strong></th> <th class="th">Sujet</th> <th class="th">Auteur</th> <th class="th">Date</th> </thead> <tfoot> <th class="th"><em>Lu</em>/<strong>Non lu(<?php echo $nbre_non_vus['nbre'];?>)</strong></th> <th class="th">Sujet</th> <th class="th">Auteur</th> <th class="th">Date</th> </tfoot> <tbody> <?php // on créé une boucle while($donnees = mysql_fetch_assoc($retour)) { // on enlève les slashs inutiles qui se seraient ajoutés $sujet = stripslashes($donnees['sujet']); $expediteur = stripslashes($donnees['expediteur']); $date = $donnees['timestamp']; // si le message n'est pas lu on le montre et on marque son sujet en gras if($donnees['vu'] == 0) { // on créé une ligne sur le tableau echo'<tr><td class="td"><strong>Non lu</strong></td><td class="td"><strong><a href="mp.php?mp='.$donnees['id'].'&action=lire">'.$sujet.'</a></ strong></td><td class="td">'.$expediteur.'</td><td class="td">Le' .date('d/m/Y \à H\hi', $date).'</td><td class="td"><a href="mp.php?action=supprimer&suppr=1&id='.$donnees['id'].'">Supprime r ce message</a></td></tr>'; } // sinon on marque que le sujet à été lu et on met en italique else { // on créé une nouvelle ligne sur le tableau echo '<tr><td class="td"><em>Lu</em></td><td class="td"><em><a href="mp.php?mp='.$donnees['id'].'&action=lire">'.$sujet.'</a></ em></td><td class="td">'.$expediteur.'</td><td class="td">Le' .date('d/m/Y \ê H\hi', $date).'</td><td class="td"><a href="mp.php?action=supprimer&suppr=1&id='.$donnees['id'].'">Supprime r ce message</a></td></tr>'; } } ?> </tbody> </table> <p><a href="mp.php?action=LireMpRecu">Voir les messages envoyés</a> <a href="mp.php?action=ecrire">Ecrire un nouveau message</a></p> <?php // on ferme la condition } // Sinon si l'url indique qu'on veut envoyer un nouveau message ('ecrire'), on affiche un formulaire d'envoi. elseif(isset($_GET['action']) AND $_GET['action'] == 'ecrire' AND $_SESSION['logged'] == true) { // si la variable $_GET['reponse'] n'existe pas alors c'est un nouveau message if(!isset($_GET['reponse'])) { ?> <form action="mp.php?action=traitement" method="post"> <label>Sujet :<input type="text" name="sujet" /></label> <label>Destinataire :<input type="text" name="destinataire" /></label> <label>Message :<textarea name="message" rows="10" cols="40"></textarea></label> <input type="submit" value="Envoyer le message" /> </form> <?php } // sinon c'est une réponse else { // on récupère les données du mp dont l'id est égale à celui auquel on veut répondre $retour_reponse = mysql_query("SELECT sujet, expediteur FROM mp WHERE id='".$_GET['reponse']."'"); $donnees_reponse = mysql_fetch_assoc($retour_reponse); ?> <form action="mp.php?action=traitement" method="post"> <!-- on met RE : devant le sujet auquel on répond --> <label>Sujet :<input type="text" name="sujet" value="RE : <?php echo $donnees_reponse['sujet'];?>"/></label> <label>Destinataire :<input type="text" name="destinataire" value="<?php echo $donnees_reponse['expediteur']; ?>"/></label> <label>Message :<textarea name="message" rows="10" cols="40"></textarea></label> <input type="submit" value="Envoyer le message" /> </form> <?php } } // sinon si la variable $_GET['action'] est égale à 'traitement' alors on traite les données envoyées par le fomulaire elseif(isset($_GET['action']) AND $_GET['action'] == 'traitement' AND $_SESSION['logged'] == true) { // si le message le sujet et le destinataire ne sont pas vide if(!empty($_POST['sujet']) AND !empty($_POST['destinataire']) AND !empty($_POST['message'])) { // on regarde si il existe une entrée avec le pseudo du destinataire $nbr_entree = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM infoclients WHERE pseudo='".$_POST['destinataire']."'")or die(mysql_error()); $nbr_entrees = mysql_fetch_assoc($nbr_entree); // si il existe if($nbr_entrees['nbre_entrees'] == 1) { // on sécurise les valeurs envoyées $sujet = addslashes(htmlentities($_POST['sujet'])); $destinataire = addslashes(htmlentities($_POST['destinataire'])); $message = addslashes(nl2br(htmlentities($_POST['message']))); $expediteur = $_SESSION['pseudo']; $timestamp = time(); // on récupère le dernier message envoyé au destinataire $retour = mysql_query("SELECT destinataire, sujet, message FROM mp WHERE expediteur='$expediteur' ORDER BY id DESC LIMIT 0,1"); $donnees = mysql_fetch_assoc($retour); // si c'est le même que celui qu'on veut envoyer if($donnees['destinataire'] == $destinataire AND $donnees['sujet'] == $sujet AND $donnees['message'] == $message) { // on l'enregistre pas et on affiche un message d'erreur echo 'Vous ne pouvez pas poster le même message 2 fois d\'affilée'; } // sinon ce n'est pas un double post else { // alors on enregistre dans la base de données mysql_query("INSERT INTO mp(sujet, expediteur, destinataire, message, timestamp, vu, efface) VALUES('" . $sujet . "', '" . $expediteur . "', '" . $destinataire . "', '" . $message . "', '" . $timestamp . "', '0', '0')")or die(mysql_error()); // on met un message echo 'Votre message a bien été envoyé à '.$destinataire.'. Vous allez être redirigé vers votre boîte de réception dans une seconde.'; // et on redirige vers la boîte de réception redirection('mp.php'); } } // sinon le membre n'est pas enregistré dans la table else { // alors on affiche un message d'erreur echo 'Le membre à qui vous souhaitez envoyer ce message n\'existe pas/plus. Vous allez être redirigé vers votre boîte de réception dans 2 secondes'; // et on redirige vers la boîte de réception redirection('mp.php'); } } // sinon tous les champs sont pas remplis else { // alors on affiche un message d'erreur et un lien echo 'Vous devez remplir tout les champs. <a href="mp.php?action=ecrire">Recommencer</a>.'; } } // sinon si la variable $_Get['action'] est égale à 'LireMpRecu' on affiche la boîte d'envoi elseif($_GET['action'] == 'LireMpRecu' AND $_SESSION['logged'] == true AND !isset($_GET['mp'])) { // on récupère les messages qu'on a envoyés et que l'on n'a pas supprimé $retour = mysql_query("SELECT id, destinataire, sujet, timestamp FROM mp WHERE destinataire='".$_SESSION['pseudo']."' AND (efface='0' OR efface='1') ORDER BY id DESC")or die(mysql_error()); ?> <table class="table"> <caption class="caption">Messages envoyés</caption> <thead> <th class="th">Sujet</th> <th class="th">Destinataire</th> <th class="th">Date</th> </thead> <tfoot> <th class="th">Sujet</th> <th class="th">Destinataire</th> <th class="th">Date</th> </tfoot> <tbody> <?php // on crée une boucle avec les entrées de la table while($donnees = mysql_fetch_assoc($retour)) { // on enlève les éventuelles slashs en trop $sujet = stripslashes($donnees['sujet']); $destinataire = stripslashes($donnees['destinataire']); $date = $donnees['timestamp']; // on ajoute une ligne au tableau pour chaque message echo'<tr><td class="td"><a href="mp.php?mp='.$donnees['id'].'&action=lire">'.$sujet.'</a></ td><td class="td">'.$destinataire.'</td><td class="td">Le' .date('d/m/Y \à H\hi', $date).'</td><td class="td"><a href="mp.php?action=supprimer&suppr=2&id='.$donnees['id'].'">Supprime r ce message</a></td></tr>'; // on ferme la boucle } ?> </tbody> </table> <p><a href="mp.php">Boîte de réception</a> <a href="mp.php?action=ecrire">Ecrire un nouveau message</a></p> <?php // on ferme la condition } // si la variable $_GET['id'] qui contient l'id du message existe, si la variable $_GET['suppr'] qui indique qui a supprimé le message (destinataire ou expéditeur) existe et si le variable $_GET['action'] est égale à 'supprimer' qui indique la suppression d'un message alors on le supprime. elseif(isset($_GET['action']) AND isset($_GET['suppr']) AND isset($_GET['id']) AND $_GET['action'] == 'supprimer') { $id = $_GET['id']; // si c'est l'expéditeur qui supprime le message alors if($_GET['suppr'] == 2) { // on récupère les données où l'id du message à supprimer est égale à l'id d'un message $retour = mysql_query("SELECT expediteur, efface FROM mp WHERE id='".$id."'")or die(mysql_error()); // on les met dans un array $donnees = mysql_fetch_assoc($retour); // si l'expéditeur est bien le membre qui veut supprimer le message if($_SESSION['pseudo'] == $donnees['expediteur']) { // et si le message a déjà été supprimé par le destinataire if($donnees['efface'] == 1) { // on supprime l'entrée correspondante de la table mysql_query("DELETE FROM mp WHERE id='".$id."'")or die(mysql_error()); // on affiche un message echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.'; // et on redirige redirection('mp.php'); } // sinon si le message n'a pas été supprimé par le destinataire elseif($donnees['efface'] == 0) { // alors on modifie le champ efface par 2 pour que le destinataire puisse encore voir le message mysql_query("UPDATE mp SET efface='2' WHERE id='".$id."'")or die(mysql_error()); // on affiche un message echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.'; // et on redirige redirection('mp.php'); } // sinon else { // on affiche un message d'erreur echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultèrieurement.'; } } // sinon le membre qui veut supprimer le message n'est pas l'expéditeur else { // donc on affiche un message d'erreur echo 'Vous ne pouvez pas supprimer un message que vous n\'avez pas envoyé vous même.'; } } // sinon si c'est le destinataire qui veut supprimer un message elseif($_GET['suppr'] == 1) { // on récupère les données sur le message que l'on veut supprimer $retour = mysql_query("SELECT destinataire, efface FROM mp WHERE id='".$id."'")or die(mysql_error()); // on les met dans un array $donnees = mysql_fetch_assoc($retour); // si le destinataire du message est bien le membre qui veut supprimer le message if($_SESSION['pseudo'] == $donnees['destinataire']) { // et si le message a été supprimé par l'expéditeur if($donnees['efface'] == 2) { // alors on supprime l'entrée correspondante de la table mysql_query("DELETE FROM mp WHERE id='".$id."'")or die(mysql_error()); // on affiche un message echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.'; // et on redirige redirection('mp.php'); } // sinon si le message n'a pas été supprimé par l'expéditeur elseif($donnees['efface'] == 0) { // alors on modifie la valeur de efface par 1 pour que l'expéditeur puisse encore voir le message mysql_query("UPDATE mp SET efface='1' WHERE id='".$id."'")or die(mysql_error()); // on affiche un message echo 'Le message a été supprimé avec succès. Vous allez être redirigé vers votre boîte de réception dans 2 secondes.'; //et on redirige redirection('mp.php'); } // sinon else { // on affiche un message d'erreur echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultèrieurement.'; } } // sinon le membre qui veut supprimer le message n'est pas le destinataire de celui-ci else { // donc on affiche un message d'erreur echo 'Vous ne pouvez pas supprimer un message qui ne vous a pas été envoyé.'; } } // sinon l'action demandée n'existe pas($_GET['action']) else { // alors on affiche un message d'erreur echo 'Une erreur est survenue lors de votre demande. Veuillez recommencer ultérieurement.'; } } // sinon on met un message d'erreur qui envoie un lien pour se connecter. else { echo 'Vous n\'êtes pas connecté ou une erreur est survenue lors de votre demande veuillez recommencer ultérieurement.<a href="premierpage.php">Se connecter</a>'; } mysql_close(); ?> </body> </html><!-- Rappel : fin de la page -->