Infos bulle invitations qui ne part pas

Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 9 juil. 2015 à 03:13
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 11 juil. 2015 à 03:23
Bonjour,

Mon info bulle invitation ne part pas malgré que j'ai vu accepté l'invitation et vu le message "vous êtes maintenant amis"

soucis de fonction ?
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if( $pseudo_session){
  $sql = "UPDATE amis
             SET date_vue=NOW()
             WHERE pseudo_dest = :session_pseudo 
              AND active=0";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array(':session_pseudo' =>  $pseudo_session);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}

2 réponses

blackduck Messages postés 817 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 24 novembre 2018 96
9 juil. 2015 à 10:37
Salut,

Pour moi ce code ne fait que vérifier si la variable $_SESSION est bien instanciée pour mettre à jour la variable date_vue en base de donnée. Il n'y a pas de redirection vers une autre page ou de rechargement de page.
D'où par l'exécution de ce code et qu'attendais tu comme résultat?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par Zakarya93 le 9/07/2015 à 10:55
je voulais que l'info bulle s'en aille après avoir accepté l'invtitation, en gros si l'active est égal à 0, elle ne s'affichera pas. Quand je refuse l'invitation, ça marche pas mais quand je l'accepte
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juil. 2015 à 19:11
en gros elle reste affichée, elle force quoi
0
jordane45 Messages postés 38309 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
11 juil. 2015 à 00:08
Bonjour,

Retire ceci :
 AND active=0";


Et ainsi.. que l'invitation soit refusée (active = 0 ) ou acceptée (active=1)... ça mettra à jour ta date vue....
et donc par conséquent.. tu ne devrais plus voir ton info-bulle (qui,rappelons le.. s'affiche par l'intermédiaire d'un autre code que celui que tu nous montres)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
11 juil. 2015 à 02:29
C'est reglé pour lorsque je refuse l'invitation mais lorsque j'accepte, l'info bulle reste pour les 2 pseudos (emetteur et recepteur) malgré que j'ai vu la notification "vous êtes desormais amis avec ..."
0
jordane45 Messages postés 38309 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
11 juil. 2015 à 03:06
Et donc... quel code utilisés tu ???
Que contient ta bdd ?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
11 juil. 2015 à 03:10
code invitations.php :
<?php 
require_once('functions/membre.func.php');
include_once('body/header.php');
include_once('body/menu.php');
?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();
$invitations_acceptees =invitation_acceptee();

  if(count($invitations)>0){
    foreach($invitations as $R) {
    $invit_exp = $R['pseudo_exp'];
    $avatar = $R['avatar'];
    $active = $R['active'];
   
     if($active == 0){ 
        echo "<img src='avatar/$avatar' height='100' width='100' alt='avatar'></img>";
        echo "<div class='error'>";
        echo " $invit_exp a voulu vous ajouter comme ami(e)<br />";
        echo " <a href='index.php?page=accepter&pseudo=$invit_exp'>Accepter</a>|<a href='index.php?page=refuser&pseudo=$invit_exp'> Refuser</a>";
        echo "</div>";
     }else {     
      echo" <div class='success'>Vous êtes désormais ami(e) avec $invit_exp </div>";
    }//fin du IF active
  } // fin du FOREACH
  }else if(invitation_acceptee() == true){
	    foreach($invitations_acceptees as $invitation_acceptee)
		{
		update_date_vue();	
		?>	
		<div class='success'><?php echo $invitation_acceptee['pseudo_dest']; ?> a accepté votre invitation</div>
		<?php 	
		}
 } else {
   echo "<div class='error'>Vous n'avez pas d'invitations</div>";
 }//fin du if(count


dans ce code, figure aussi le uptade_date_vue d'ailleurs ^^

sinon dans la bdd j'ai un active = 1, le date confirmation qui est bien à l'heure de confimation mais un date_vue à 0000000
0
jordane45 Messages postés 38309 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
11 juil. 2015 à 03:19
Et ton code d'update ?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
11 juil. 2015 à 03:23
/*
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if( $pseudo_session){
  $sql = "UPDATE amis
             SET date_vue=NOW()
             WHERE pseudo_dest = :session_pseudo";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array(':session_pseudo' =>  $pseudo_session);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}
0