Notification en cas de nouveau message

Résolu/Fermé
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - Modifié par flo39400 le 20/02/2017 à 23:55
Deediezi.09 Messages postés 157 Date d'inscription mardi 31 janvier 2017 Statut Membre Dernière intervention 6 mai 2017 - 21 févr. 2017 à 13:13
Bonjour,

J'aimerai savoir comment mettre en place un système de notification, a l'heure actuelle je dois rafraichir ma page php afin je voir via mon menu que j'ai un nouveau message.

Comment faire pour automatiser cette mise a jour ?
Comment crée un réel système de notification efficace ?

Voila un aperçu de mon index.php :

<?php
session_start();

include("CoBDD.php");

if($_SESSION['bann'] == 0)
{

 


$articlesParPage = 7;
$articlesTotalesreq = $bdd->query('SELECT id FROM article WHERE affichage = 1');
$articlesTotales = $articlesTotalesreq->rowCount();
$PagesTotales = ceil($articlesTotales/$articlesParPage);

if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $PagesTotales)
{
 $_GET['page'] = intval($_GET['page']);
 $pageCourante = $_GET['page'];
}
else
{
 $pageCourante = 1;
}

$depart = ($pageCourante-1)*$articlesParPage;



$articles = $bdd->query('SELECT * FROM article WHERE affichage = 1 ORDER BY id DESC LIMIT '.$depart.','.$articlesParPage);

?>

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css" />
<title>Site local de telechargement</title>
</head>
<body>
<div align="center">
<h1>Espace de telechargement en illimité et gratuit</h1>
<em>Site soumis a un réglement, tous non respect de celui-ci entrainera un bannisement deffinitif !</em>
</div>
<?php include("menu.php"); ?>


<?php include("pub.php"); ?>



 <?php while($a = $articles->fetch()) 
 { ?>
 <table class="tbindex">
 <article>
 <tr>
 <td class="index"><a href="index2.php?consulter=<?= $a['id'] ?>"><h3><?= $a['titre'] ?></h3></a></td>
 </tr>
 </article>
 
<?php
 }
 
 ?>
 
<div class="menubas">
<tr>
<td>
<?php
for($i=1;$i<=$PagesTotales;$i++)
{
 if($i == $pageCourante) 
 {
  echo $i.' ';
 }
 else
 {
  echo '<a href="index.php?page='.$i.'" rel="nofollow noopener noreferrer" target="_blank">'.$i.'</a> ';  
 }
}
?>
</td>
</tr>
</table>
</div>
</body>
</html>
<?php
}
else
{
 echo 'Compte bloquer !';
 header('Location: deco.php');
}
?>


Le menu.php:

<?php
session_start();
include("CoBDD.php");

if(isset($_SESSION['id']) AND !empty($_SESSION['id']))
{

$msg = $bdd->prepare('SELECT * FROM message WHERE id_destinataire = ? AND lu = 0');
$msg->execute(array($_SESSION['id']));
$nbr_msg = $msg->rowCount();
}


 if($nbr_msg == 0)
{
 $contenu = '';
}
else
{
 if($nbr_msg > 1)
 {
  $contenu = '<font color="red">'.$nbr_msg.' News messages</font>';
 }
 else
 {
  $contenu = '<font color="red">'.$nbr_msg.' New message</font>';
 }
}
 
?>




<?php
if(isset($_SESSION['statut']))
{
 if($_SESSION['statut'] == 3)
 {
?>

 <ul id="menu_horizontal">
 <li class="bouton_gauche"><a href="index.php" rel="nofollow noopener noreferrer" target="_blank">Accueil</a></li>
 <li class="bouton_gauche"><a href="profil.php?id=<?php if(isset($_SESSION['id'])) { echo $_SESSION['id']; } ?>">Mon profil</a></li>
 <li class="bouton_gauche"><a href="deco.php" rel="nofollow noopener noreferrer" target="_blank">Se déconnecter</a></li>
 <li class="bouton_droite"><a href="admin/index.php" rel="nofollow noopener noreferrer" target="_blank">Administration</a></li>
 <li class="bouton_droite"><a href="message.php" rel="nofollow noopener noreferrer" target="_blank">Envoyer un message</a></li>
 <li class="bouton_droite"><a href="reception.php" rel="nofollow noopener noreferrer" target="_blank">Boîte de reception</a></li>
 <div id="message1"><?php if($nbr_msg == 0) { }else{ ?><li class="bouton_droite"><a href="NEWreception.php" rel="nofollow noopener noreferrer" target="_blank"><?= $contenu ?></a></li><?php } ?></div>
 </ul>
 <br/>
<?php
 }
 elseif(isset($_SESSION['id']))
 {
 ?>
 <ul id="menu_horizontal">
 <li class="bouton_gauche"><a href="index.php" rel="nofollow noopener noreferrer" target="_blank">Accueil</a></li>
 <li class="bouton_gauche"><a href="profil.php?id=<?php if(isset($_SESSION['id'])) { echo $_SESSION['id']; } ?>">Mon profil</a></li>
 <li class="bouton_gauche"><a href="deco.php" rel="nofollow noopener noreferrer" target="_blank">Se déconnecter</a></li>
 <li class="bouton_droite"><a href="message.php" rel="nofollow noopener noreferrer" target="_blank">Envoyer un message</a></li>
 <li class="bouton_droite"><a href="reception.php" rel="nofollow noopener noreferrer" target="_blank">Boîte de reception</a></li>
 <div id="message"><?php if($nbr_msg == 0) { }else{ ?><li class="bouton_droite"><a href="NEWreception.php" rel="nofollow noopener noreferrer" target="_blank"><?= $contenu ?></a></li><?php } ?></div>
 </ul>
 <br/>
 <?php
 }
}
else
{
?>
<ul id="menu_horizontal">
<li class="bouton_gauche"><a href="index.php" rel="nofollow noopener noreferrer" target="_blank">Accueil</a></li>
<li class="bouton_gauche"><a href="inscription.php" rel="nofollow noopener noreferrer" target="_blank">Vous inscrire</a></li>
<li class="bouton_gauche"><a href="connexion.php" rel="nofollow noopener noreferrer" target="_blank">Se connecter</a></li>
<li class="bouton_droite"><a href="contact.php" rel="nofollow noopener noreferrer" target="_blank">Contact</a></li>
</ul>
<br/>
<?php
 
}

?>


Merci d'avance de votre aide.

1 réponse

Deediezi.09 Messages postés 157 Date d'inscription mardi 31 janvier 2017 Statut Membre Dernière intervention 6 mai 2017 61
21 févr. 2017 à 00:03
Salut, pour cela il faut t'orienter vers le Javascript qui permet une page dynamique en temps réel. En php, ce n'est pas possible puisque les informations sont traitées lors de l'envoi des requêtes de la page.
0
Deediezi.09 Messages postés 157 Date d'inscription mardi 31 janvier 2017 Statut Membre Dernière intervention 6 mai 2017 61
21 févr. 2017 à 00:03
0
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
21 févr. 2017 à 13:12
Merci j'ai du boulot quoi...
0
Deediezi.09 Messages postés 157 Date d'inscription mardi 31 janvier 2017 Statut Membre Dernière intervention 6 mai 2017 61
21 févr. 2017 à 13:13
Oh bah ça... la programmation quand on fait quelque chose de nouveau c'est long, chiant, ça marche jamais du premier coup ... mais quand on sait le faire après c'est facile :p
0