Alerte php

Fermé
Profil bloqué - Modifié par krazykat le 14/06/2012 à 16:40
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 - 13 juin 2012 à 23:53
Bonjour,

J'aimerais le code php pour qu'une alerte où il y aura écris "vous avez un nouveau messages" quand il a un nouveau message. Voila mes codes.

list_pm.php:

<?php
include('config.php');
?>
<!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 href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Messages Personnels</title>
</head>
<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
</div>
<div class="content">
<?php
//On verifie que lutilisateur est connecte
if(isset($_SESSION['username']))
{
//On affiche la liste des messages de l'utilisateur sous la forme dun tableau
//Deux requettes sont executees, une pour recuperer les messages non-lus et une pour les messages lus
$req1 = mysql_query('select m1.id, m1.title, m1.timestamp, count(m2.id) as reps, users.id as userid, users.username from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['userid'].'" and m1.user1read="no" and users.id=m1.user2) or (m1.user2="'.$_SESSION['userid'].'" and m1.user2read="no" and users.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc');
$req2 = mysql_query('select m1.id, m1.title, m1.timestamp, count(m2.id) as reps, users.id as userid, users.username from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['userid'].'" and m1.user1read="yes" and users.id=m1.user2) or (m1.user2="'.$_SESSION['userid'].'" and m1.user2read="yes" and users.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc');
?>
Voici la liste de vos messages:<br />
<a href="new_pm.php" class="link_new_pm">Nouveau message privé</a><br />
<h3>Messages non-lus(<?php echo intval(mysql_num_rows($req1)); ?>):</h3>
<table>
<tr>
<th class="title_cell">Titre</th>
<th>Nb. Réponses</th>
<th>Participant</th>
<th>Date d'envoi</th>
</tr>
<?php
//On affiche la liste des messages non-lus
while($dn1 = mysql_fetch_array($req1))
{
?>
<tr>
<td class="left"><a href="read_pm.php?id=<?php echo $dn1['id']; ?>"><?php echo htmlentities($dn1['title'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo $dn1['reps']-1; ?></td>
<td><a href="profile.php?id=<?php echo $dn1['userid']; ?>"><?php echo htmlentities($dn1['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo date('d/m/Y H:i:s' ,$dn1['timestamp']); ?></td>
</tr>
<?php
}
//Sil na aucun message non-lu, on le dit
if(intval(mysql_num_rows($req1))==0)
{
?>
<tr>
<td colspan="4" class="center">Vous n'avez aucun message non-lu.</td>
</tr>
<?php
}
?>
</table>
<br />
<h3>Messages lus(<?php echo intval(mysql_num_rows($req2)); ?>):</h3>
<table>
<tr>
<th class="title_cell">Titre</th>
<th>Nb. Réponses</th>
<th>Participant</th>
<th>Date d'envoi</th>
</tr>
<?php
//On affiche la liste des messages lus
while($dn2 = mysql_fetch_array($req2))
{
?>
<tr>
<td class="left"><a href="read_pm.php?id=<?php echo $dn2['id']; ?>"><?php echo htmlentities($dn2['title'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo $dn2['reps']-1; ?></td>
<td><a href="profile.php?id=<?php echo $dn2['userid']; ?>"><?php echo htmlentities($dn2['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo date('d/m/Y H:i:s' ,$dn2['timestamp']); ?></td>
</tr>
<?php
}
//Sil na aucun message lu, on le dit
if(intval(mysql_num_rows($req2))==0)
{
?>
<tr>
<td colspan="4" class="center">Vous n'avez aucun message lu.</td>
</tr>
<?php
}
?>
</table>
<?php
}
else
{
echo 'Vous devez être connecté pour accéder à cette page.';
}
?>
</div>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://totooooooo1.franceserv.com/users.php">Liste des membres</a></div>
</body>
</html>


***************************************************************
read_pm.php:

<?php
include('config.php');
?>
<!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 href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Lecture d'un MP</title>
</head>
<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
</div>
<?php
//On verifie si lutilisateur est connecte
if(isset($_SESSION['username']))
{
//On verifie que lidentifiant de la discution est defini
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
//On recupere le titre et les narateurs de la discution
$req1 = mysql_query('select title, user1, user2 from pm where id="'.$id.'" and id2="1"');
$dn1 = mysql_fetch_array($req1);
//On verifie que la discution existe
if(mysql_num_rows($req1)==1)
{
//On verifie que lutilisateur a le droit dafficher les messages
if($dn1['user1']==$_SESSION['userid'] or $dn1['user2']==$_SESSION['userid'])
{
//La discution sera placee dans les messages lus
if($dn1['user1']==$_SESSION['userid'])
{
mysql_query('update pm set user1read="yes" where id="'.$id.'" and id2="1"');
$user_partic = 2;
}
else
{
mysql_query('update pm set user2read="yes" where id="'.$id.'" and id2="1"');
$user_partic = 1;
}
//On recupere la liste des messages
$req2 = mysql_query('select pm.timestamp, pm.message, users.id as userid, users.username, users.avatar from pm, users where pm.id="'.$id.'" and users.id=pm.user1 order by pm.id2');
//On verifie si lutilisateur a valide le formulaire de reponse
if(isset($_POST['message']) and $_POST['message']!='')
{
$message = $_POST['message'];
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$message = stripslashes($message);
}
//On echape le message pour pouvoir le mettre dans une requette SQL
$message = mysql_real_escape_string(nl2br(htmlentities($message, ENT_QUOTES, 'UTF-8')));
//On envoi la reponse et le statut de la discution passe a non-lu pour lautre utilisateur
if(mysql_query('insert into pm (id, id2, title, user1, user2, message, timestamp, user1read, user2read)values("'.$id.'", "'.(intval(mysql_num_rows($req2))+1).'", "", "'.$_SESSION['userid'].'", "", "'.$message.'", "'.time().'", "", "")') and mysql_query('update pm set user'.$user_partic.'read="yes" where id="'.$id.'" and id2="1"'))
{
?>
<div class="message">Votre message a bien été envoyé.<br />
<a href="read_pm.php?id=<?php echo $id; ?>">Retour à la discussion</a></div>
<?php
}
else
{
?>
<div class="message">Une erreur c'est produite lors de l'envoi du message.<br />
<a href="read_pm.php?id=<?php echo $id; ?>">Retour à la discussion</a></div>
<?php
}
}
else
{
//On affiche la liste des messages
?>
<div class="content">
<h1><?php echo $dn1['title']; ?></h1>
<table class="messages_table">
<tr>
<th class="author">Utilisateur</th>
<th>Message</th>
</tr>
<?php
while($dn2 = mysql_fetch_array($req2))
{
?>
<tr>
<td class="author center"><?php
if($dn2['avatar']!='')
{
echo '<img src="'.htmlentities($dn2['avatar']).'" alt="Image Perso" style="max-width:100px;max-height:100px;" />';
}
?><br /><a href="profile.php?id=<?php echo $dn2['userid']; ?>"><?php echo $dn2['username']; ?></a></td>
<td class="left"><div class="date">Date d'envoi: <?php echo date('d/m/Y H:i:s' ,$dn2['timestamp']); ?></div>
<?php echo $dn2['message']; ?></td>
</tr>
<?php
}
//On affiche le formulaire de reponse
?>
</table><br />
<h2>Répondre</h2>
<div class="center">
<form action="read_pm.php?id=<?php echo $id; ?>" method="post">
<label for="message" class="center">Message</label><br />
<textarea cols="40" rows="5" name="message" id="message"></textarea><br />
<input type="submit" value="Envoyer" />
</form>
</div>
</div>
<?php
}
}
else
{
echo '<div class="message">Vous n\'avez pas le droit d\'accéder à cette page.</div>';
}
}
else
{
echo '<div class="message">Ce message n\'existe pas.</div>';
}
}
else
{
echo '<div class="message">L\'identifiant du message n\'est pas défini.</div>';
}
}
else
{
echo '<div class="message">Vous devez être connecté pour accéder à cette page.</div>';
}
?>
<div class="foot"><a href="list_pm.php">Retour à mes messages privés</a> - <a href="http://totooooooo1.franceserv.com/users.php">Liste des membres</a></div>
</body>
</html>
***************************************************************

index.php:(la où l'alerte sera présente)


<a href="http://totooooooo1.franceserv.com/"><img src="http://totooooooo1.franceserv.com/apr.png" ></a>



<!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" />
</head>


<div align="right">
<a href="list_pm.php">Messages privés</a><a href="list_pm.php"><img height="42" width="100" src="http://www.country-couples.co.uk/datingtips/wp-content/uploads/message.jpg" title="message privé" class=" DrteTexte" style="margin: 0px; border: #000 0px solid;" /></a>
<a href="forum.php">Forum</a><a href="forum.php"><img height="42" width="100" src="http://www.appstore-test.fr/wp-content/uploads/Discussion-forum.jpg" title="forum" class=" DrteTexte" style="margin: 0px; border: #000 0px solid;" /></a>
<a href="connexion.php">Déconnection</a><a href="connexion.php"><img height="42" width="100" src="http://echo.levillage.org/public/Informatique/deconnection.png" title="deconnect" class=" DrteTexte" style="margin: 0px; border: #000 0px solid;" /></a>
<div id="menu">
<ul>
<li><a href="#"> zaikoe</a>
<ul>
<li><a href="#"><a href="edit_infos.php">Modifier mes informations personnelles</a></a></li>
</ul>
</li>
</ul>
</div>
</div>
</br></br></br></br>
</div>





</div>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
</head>

<body>


</body>
</html>

<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />





<!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" />
</head>

<div align="left">
<TABLE BORDER="1">
<TR>
<TH><a href="http://totooooooo1.franceserv.com/">Index</a></TH>
</TR>
<TR>
<TH><a href="http://totooooooo1.franceserv.com/News.php">News</a></TH>
</TR>
<TR>
<TH><a href="http://www.totooooooo1.franceserv.com/tous-les-codes.php">Tous les codes HTML</a></TH>
</TR>
<TR>
<TH><a href="http://totooooooo1.franceserv.com/MÉTÉO.php">Météo</a></TH>
</TR>
<TR>
<TH><a href="http://totooooooo1.franceserv.com/creer-son-site.php">Creer son site</a></TH>
</TR>
<TR>
<TH><a href="http://totooooooo1.franceserv.com/surprise.php">Surprise</a></TH>
</TR>
<TR>
<TH><a href="http://totooooooo1.franceserv.com/jeux.php">Jeux</a></TH>
</TR>
<div align="right">
<TR>
<TH><a href="users.php">voir la liste des utilisateurs</a></TH>
</TR>
</div>
</TABLE>
</div>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
</head>

<body>


</body>
</html>










<div id="corps">





<br />
<br /><br />

</div>
<div class="foot"></div>
<div style="height: 0px; width: 0px;"><a href="http://honey-pots.franceserv.fr/toast.php"><!-- Pour en savoir plus sur ce lien : https://www.franceserv.fr/wiki/honey-pots --></a></div></body>
</html>


<h2> Discutons zaikoe<br /></h2>



<script type="text/javascript" src="http://services.supportduweb.com/chat/5413.js"></script><br />


<li style="color: red;"><h1><div align="right"><script LANGUAGE="Javascript">
<!--
function getDt(){
dt=new Date();
hrs=dt.getHours();
min=dt.getMinutes();
sec=dt.getSeconds();
tm=" "+((hrs<10)?"0":"") +hrs+":";
tm+=((min<10)?"0":"")+min+":";
tm+=((sec<10)?"0":"")+sec+" ";
document.getElementById('display').innerHTML=tm;
setTimeout("getDt()",1000);
}
// -->
</script>



<body onLoad="getDt()">
Il est actuellement: <div id="display"></div></div>
</h1>
</li>


<h2><li style="color: blue;"><a href="http://www.livre-dor.net/livre.php?livredor=124964">livre d'or</a> </li></h2></br></br>
</br></br></br></br></br></br><font color="red"><script type="text/javascript" src="http://services.help-info.net/clive.php?idc=935&m=all"></script><noscript><a href="http://www.kitsgraphiques.net/service-compteur-live.html" title="compteur live"><img src="http://services.help-info.net/clive.php?idc=935" border=0></a></noscript>
</font>


</br></br></br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>
</br></br>


<a href="http://totooooooo1.franceserv.com/"><img src="http://totooooooo1.franceserv.com/pied.png" ></a>

<a href="http://htmltennis.forumavie.com/">Questions tennis/informatique</a>

</div>







Merci d'avance

A voir également:

5 réponses

Bonsoir,
Au vu de tes scripts, tu dois savoir coder en PHP, donc tu n'auras aucune difficulté de coder ce que tu veux réaliser. Ensuite, si le script que tu auras REALISE contient un bug, n'hésites pas à nous le soumettre, on te viendra en aide avec plaisir...
3
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
13 juin 2012 à 22:24
pour afficher une fenêtre sur la page, le bout de code c'est :

echo '<script>
alert("vous avez un nouveau message");
</script>'


je te laisse le placer où il faut, tu connais ton code mieux que moi...
1
Profil bloqué
13 juin 2012 à 22:40
Juste, ecrire: echo 'vous avez un nouveau message' ouvrira une fenetre ou il y aura ecri s sa comme pour un js
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
13 juin 2012 à 22:46
heu... non.

ça affichera une ligne sur la page avec marqué "vous avez un nouveau message"

l'alert JS t'ouvre une boite de dialogue en plus de la page
0
Profil bloqué
13 juin 2012 à 23:02
Voila, donc je n'ai pas besoin de php (pour la fenetre en plus)
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
13 juin 2012 à 23:07
non, tu peux aussi fermer la balise, mettre le code JS, rouvrir la balise... ça marche aussi...
0
Profil bloqué
13 juin 2012 à 23:09
Mais il n'y aura rien sur la fenetre
0
Rodolphe_ Messages postés 1481 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 20 décembre 2014 285
13 juin 2012 à 19:59
Pas besoin de mettre toutes ces lignes de codes!

Regardes du coté d'ajax: un script javascript interroge régulièrement ton serveur pour voir s'il y a des nouveaux messages et ainsi créer dynamiquement du texte sur ton site..
0
Profil bloqué
13 juin 2012 à 22:17
Ok garde se sujet en suivi, je vais coder des denain :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
13 juin 2012 à 23:53
Je te donne la reponse la plus simple, mais un simple copier coller ne te fait pas apprendre le php. Il faut essayer de le comprendre aussi.

Bref, dans ta base "messages privés", tu ajoute un champs "lu" qui, si on recoit un MP ajoute la valeur 1 dans ce champs.

Il te suffit ensuite de selectionner tous les messages dont le champs lu = 1 et dont le destinataire correspond au membre connecté (sessions).

Petit plus, quand on clique sur le titre pour aller lire le message, un UPDATE pour passer le champs lu de 1 à 0 afin de ne plus avoir le "vosu avez un nouveau message".

-1