Function verifier_expediteur() en pdo

Résolu
Bonjour,

Sachant que le code mysql_ que je dois convertir est :
//la function qui va vérifier si le membre connecté est l'expediteur 
function verifier_expediteur()

{

$query = mysql_query(""
SELECT COUNT(id_invitations)  FROM amis WHERE (pseudo_exp = '{$_SESSION['pseudo']}' AND pseudo_dest = '{$_GET['pseudo']}'
");
return mysql_result($query,0);
  
}


C'est bon si j'ai fais :
?>

//la function qui va vérifier si le membre connecté est l'expediteur 
function verifier_expediteur()

{

global $bdd;

  //récupération des variables PROPREMENT !
  $id_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $id_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;


  $sql = "SELECT active FROM amis 
         FROM amis
          WHERE (id_exp = :session_pseudo AND id_dest = :get_pseudo)
            OR  (id_ dest = :get_pseudo AND id_dest = :session_pseudo)";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('get_pseudo' => $id_exp , 'session_pseudo' => $id_dest) ;
  
  $query = $bdd->prepare($sql);
  $query ->execute($params);  
  $result = $query->fetchall();
 
 //On récupère le contenu de la colonne 'active'
  $active = isset($result) && count($result)>0 ? $result[0]['active'] : 0;
 
 // le return :
 // si active == 0 on retourne false .. sinon true :
 return $active == 0 ? false : true ;
}


Merci d'avance :)

31 réponses

Résumé de la discussion

Pour convertir une fonction PHP utilisant mysql_ en PDO, la problématique porte sur vérifier si l'expéditeur d'une invitation est l'utilisateur connecté et autorisé. Des paramètres PDO sont utilisés :session_pseudo et :get_pseudo, et COUNT(id_invitations) est renvoyé sous l'alias NB, ce qui permet une vérification simple et scalable. En cas de récupération, fetchAll fournit le tableau, NB est extrait et le code retourne ce nombre, tout en protégeant les variables et en évitant les injections. En pratique, la correction finale montre que le COUNT est nommé NB et que le retour s'effectue via $requete[0]['NB'], fournissant une valeur entière utilisable par d'autres contrôles.

Bobot (l’IA à votre service)
  1. Modérateur

    quand je me connecte sur l'autre compte qui recoit l'invitation, normalement il devrait avec : Demande en cours, verifiez vos invitations / quand il clique sur le profil qui lui a envoyé la demande


    La discussion devient difficile à suivre ... il y a du code partout .. c'est le "bordel"...
    bref .. ta question initiale (pour cette discussion là .. ) est résolue...

    merci donc de clore ce topic .. et d'ouvrir une nouvelle discussion pour ce nouveau souci.
    (penses à nous y mettre les codes nécéssaires )
    1. Oui j'ai juste un petit soucis toujours en rapport avec cette function ^^
    2. Modérateur
      @Zakarya93peu importe la taille du souci....
      Merci d'ouvrir une nouvelle discussion..... spécifique à ce "nouveau" problème.
    3. Pas de soucis et encore merki :)
  2. Modérateur
    Parfait.

    Alors ajoutons un peu de debug dans ta fonction pour voir ce qui ne fonctionne pas
    J'ai également modifié la requête en y retirant le COUNT...
    Dis moi ce que ça donne.

    //la function qui va vérifier si le membre connecté est l'expediteur 
    function verifier_expediteur(){
     
    global $bdd;
    
      //récupération des variables PROPREMENT !
      $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
      $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
    
    //pour les tests:
      echo "<br>pseudo_exp  : ".$pseudo_exp ;
      echo "<br>pseudo_dest : ".$pseudo_dest ;
    
     $result=0;
     if($pseudo_exp && $pseudo_dest){
      $sql = "SELECT id_invitations 
             FROM amis
             WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
    
      // je place les  params dans une variable avant de l'utiliser :
      $params = array(':session_pseudo' => $pseudo_exp , ':get_pseudo' => $pseudo_dest) ;
      
      $query = $bdd->prepare($sql);
      $query ->execute($params);  
      $requete= $query->fetchall();
    
     echo "<br><br> resultat de la requete:<br>";
    print_r($requete);
    
      $result= (count($requete)>0)?1:0;
    
    echo "<br> Result :".$result;
    
    }else{
      echo "<br><b>ERREUR ! <br>Une erreur est survenue lors de la récupération des variables !<br>";
      echo "<br>pseudo_exp  : ".$pseudo_exp ;
      echo "<br>pseudo_dest : ".$pseudo_dest ;
    } // FIN DU IF !!
    
    
    // return
      return $result; 
    }//fin de la fonction
    
    


    Cordialement,
    Jordane
    1. Merci infiniement pour ton aide qui m'est précieuse ! J'ai ça qui s'affiche :
      pseudo_exp : jean
      pseudo_dest : xzak47

      resultat de la requete:
      Array ( )
      Result :0

      accepter_demande => 0
      demande_existe => 1
      verifier_expediteur => 0
      Demande en cours
      Verifiez vos invitations
    2. Modérateur
      Tu peux tester la requête suivante DIRECTEMENT DANS PHPMYADMIN et nous dire ce que ça te donne ?
      SELECT id_invitations 
               FROM amis
               WHERE (pseudo_exp = 'jean ' AND pseudo_dest = 'xzak47')
      
      
    3. J'ai :
      Requête SQL :

      SELECT id_invitations
      FROM amis
      WHERE (pseudo_exp = 'jean ' AND pseudo_dest = 'xzak47')
      LIMIT 0, 25

      MySQL a répondu:
      #1054 - Unknown column 'id_invitations' in 'field list'
    4. Modérateur
      ben.. donc tu as ta réponse non ??
      La requête contient une erreur ..........

      Si tu regardes bien (je compare avec ton image...) ... il n'y a pas de S à invitation !!!

      Donc :
        $sql = "SELECT id_invitation
               FROM amis
               WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
      
      
    5. ah oui ! bingo !
      du coup j'ai :

      pseudo_exp : jean
      pseudo_dest : xzak47

      resultat de la requete:
      Array ( [0] => Array ( [id_invitation] => 40 [0] => 40 ) )
      Result :1

      accepter_demande => 0
      demande_existe => 1
      verifier_expediteur => 1

      et le annuler demande qui apparait :) mais quand je clique sur annuler j'ai :
      Parse error: syntax error, unexpected 'global' (T_GLOBAL), expecting '{' in C:\wamp\www\rs\functions\annuler.func.php on line 4

      <?php
      //la function qui va supprimer l'invitation
      function supprimer_invitation()
      global $bdd;
      
        //récupération des variables PROPREMENT !
        $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
        $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
      
       $result=0;
       if($pseudo_exp && $pseudo_dest){
        $sql = "DELETE
               FROM amis
               WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
      
        // je place les  params dans une variable avant de l'utiliser :
        $params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest);
        
        $query = $bdd->prepare($sql);
        $query ->execute($params);  
        $requete = $query->fetchall();
       }
       // le return
       return $result;
      } 		  
  3. Modérateur

    dans ma bdd oui visiblement mais niveau rendement j'ai pas encore ce que je veux (à savoir le "annuler demande" et j'ai tjr le "demande en cours" pour les 2 comptes existants alors que la demande avait été faite par un des 2

    .... ton bouton "annuler" .. n'apparait QUE si c'est l'utilisateur qui a fait la demande est celui qui affiche la page.

    Par contre... es-tu sûr que dans ta BDD tu as bien la demande d'enregistrée ? Il faut commencer par vérifier ça.

    1. J'ai ceci : http://www.noelshack.com/2015-25-1434564323-erreur.jpg
    2. Modérateur
      @Zakarya93Ok et donc là. . Tu es connecté avec quel pseudo sur ton site ?
    3. avec le pseudo "jean"
  4. Regardez ici à la fin de la vidéo : https://www.youtube.com/watch?v=OgW_uzBqgfo
    1. Modérateur
      Etant à mon taff.. je ne peux pas regarder de video sur youtube....

      pour ce qui est de ton code.. non je ne vois pas d'erreur....
      Le seul souci pourrait être au niveau de la requête.....
      La question à se poser c'est est-ce que tu as ce que tu veux dans ta BDD ???
    2. @jordane45ah pas de soucis :)
      dans ma bdd oui visiblement mais niveau rendement j'ai pas encore ce que je veux (à savoir le "annuler demande" et j'ai tjr le "demande en cours" pour les 2 comptes existants alors que la demande avait été faite par un des 2
  5. Pas de soucis!
    J'ai un "Array ()" qui s'affiche avec en dessous cette erreur : Notice: Array to string conversion in C:\wamp\www\rs\pages\profile.php on line 19

    et juste en dessous :
    accepter_demande => 0
    demande_existe => 1
    verifier_expediteur => Array
    1. Modérateur
      Tu as pris le code modifié ?
      //la function qui va vérifier si le membre connecté est l'expediteur 
      function verifier_expediteur(){
       
      global $bdd;
      
        //récupération des variables PROPREMENT !
        $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
        $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
      
       $result=0;
       if($pseudo_exp && $pseudo_dest){
        $sql = "SELECT COUNT(id_invitations) as NB
               FROM amis
               WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
      
        // je place les  params dans une variable avant de l'utiliser :
        $params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
        
        $query = $bdd->prepare($sql);
        $query ->execute($params);  
        $requete= $query->fetchall();
        $result= (count($requete)>0)?$requete[0]['NB']:0;
      // le temps des tests :
      print_r($requete);
      
      } // FIN DU IF !!
      // return
        return $result;
      
      } // FIN DE LA FONCTION .. A NE PAS OUBLIER !
      
    2. @jordane45Ah je n'ai pas vu que vous l'avez remodifié ^^
      du coup j'ai ça qui s'affiche :

      Array ( )

      accepter_demande => 0
      demande_existe => 1
      verifier_expediteur => 0
    3. Modérateur
      @Zakarya93Cela signifie que ta requête ne retourne aucun résultat !
      Donc... soit ta requête est fausse ... soit c'est normal .. mais ça .. c'est à toi de le savoir !
    4. @jordane45Y a t-il des erreurs dans mon code ?

      //la function qui va vérifier si le membre connecté est l'expediteur 
      function verifier_expediteur(){
       
      global $bdd;
      
        //récupération des variables PROPREMENT !
        $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
        $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
      
       $result=0;
       if($pseudo_exp && $pseudo_dest){
        $sql = "SELECT COUNT(id_invitations) as NB
               FROM amis
               WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
      
        // je place les  params dans une variable avant de l'utiliser :
        $params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
        
        $query = $bdd->prepare($sql);
        $query ->execute($params);  
        $requete= $query->fetchall();
        $result= (count($requete)>0)?$requete[0]['NB']:0;
      
      } // FIN DU IF !!
      // return
        return $result;
      
        
      }
  6. J'ai ceci :

    1. Modérateur
      L'affichage des images en "grand" sur le forum est buguée actuellement ...
      Ne pourrais-tu pas simplement nous en faire un COPIER/COLLER ???
  7. J'ai : Parse error: syntax error, unexpected end of file in C:\wamp\www\rs\functions\profile.func.php on line 98

    <?php
    //-----------------------------
    //Profile.func.php 
    //-----------------------------
    // la fonction qui va recuperer les informations de la personne choisie par l'utilisateur
    function recuperer_info_membre_choisi($pseudo = NULL) {
    global $bdd; // déclaration globale de BDD
    
    $result = array();
    
    $sql = "SELECT * FROM utilisateurs WHERE pseudo=:pseudo" ;
    $query = $bdd->prepare($sql);
    $query->execute(array(':pseudo' =>$pseudo));
    $result=$query->fetchall();
    
    return $result;
    }
    
    //la function qui va vérifier si une demande existe entre les deux membres
    function demande_existe() {
     global $bdd; // déclaration globale de BDD
    
      //récupération des variables PROPREMENT !
      $pseudoSession = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
      $pseudoGet = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
    
      // je mets la requête dans une variable AVANT de l'utiliser
      // PS :  j'ai ajouté un ALIAS  (COUNT(id_invitation) as NB) afin de pouvoir plus facilement
      // utiliser le résultat de la requête...
      $sql = "SELECT COUNT(id_invitation) as NB
    	        FROM amis
              WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)
                OR  (pseudo_exp = :get_pseudo AND pseudo_dest = :session_pseudo)";
    
      // je place les  params dans une variable avant de l'utiliser :
      $params = array('get_pseudo' => $pseudoGet, 'session_pseudo' => $pseudoSession) ;
      
      $query = $bdd->prepare($sql);
      $query ->execute($params);  
      $result = $query->fetchall();
    	
      //on récupère le NB de ta requête...
       $nb = $result[0]['NB'];
      //On fait un RETURN pour envoyer le résultat vers ton code...
      return $nb;
    }
    
    //la function qui va verifier si le destinataire a accepté la demande
    function accepter_demande(){
      global $bdd;
    
      //récupération des variables PROPREMENT !
      $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
      $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
    
    
      $sql = "SELECT active FROM amis 
    	        FROM amis
              WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)
                OR  (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)";
    
      // je place les  params dans une variable avant de l'utiliser :
      $params = array('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ;
      
      $query = $bdd->prepare($sql);
      $query ->execute($params);  
      $result = $query->fetchall();
    	
     //On récupère le contenu de la colonne 'active'
      $active = isset($result) && count($result)>0 ? $result[0]['active'] : 0;
     
     // le return :
     // si active == 0 on retourne false .. sinon true :
     return $active == 0 ? 0 : 1 ;
    }
    
    //la function qui va vérifier si le membre connecté est l'expediteur 
    function verifier_expediteur(){
    	
    global $bdd;
    
      //récupération des variables PROPREMENT !
      $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
      $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
    
     $result=0;
     if($pseudo_exp && $pseudo_dest){
      $sql = "SELECT COUNT(id_invitations) as NB
             FROM amis
             WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
    
      // je place les  params dans une variable avant de l'utiliser :
      $params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
      
      $query = $bdd->prepare($sql);
      $query ->execute($params);  
      $requete = $query->fetchall();
      return print_r($requete);
    1. Modérateur
      
      //la function qui va vérifier si le membre connecté est l'expediteur 
      function verifier_expediteur(){
       
      global $bdd;
      
        //récupération des variables PROPREMENT !
        $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
        $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
      
       $result=0;
       if($pseudo_exp && $pseudo_dest){
        $sql = "SELECT COUNT(id_invitations) as NB
               FROM amis
               WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
      
        // je place les  params dans une variable avant de l'utiliser :
        $params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
        
        $query = $bdd->prepare($sql);
        $query ->execute($params);  
        $requete= $query->fetchall();
        $result= (count($requete)>0)?$requete[0]['NB']:0;
      // le temps des tests :
      print_r($requete);
      
      } // FIN DU IF !!
      // return
        return $result;
      
      } // FIN DE LA FONCTION .. A NE PAS OUBLIER !
      
      
  8. Correction :
    $sql = "DELETE
             FROM amis
             WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
    
      // je place les  params dans une variable avant de l'utiliser :
      $params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;

    ?
    1. Modérateur
      oui c'est mieux.
    2. Modérateur
      @Zakarya93Tu n'as qu'à tester pour voir si ça marche ou non.....
    3. @jordane45J'ai toujours le même soucis, en plus j'ai Demande en cours
      Verifiez vos invitations pour les 2 comptes...
    4. Modérateur
      @Zakarya93Je te rappel que dans tes IF .. la condition pour voir ton lien c'est :
      $accepter_demande == 0 && $verifier_expediteur == 1
      

      ....
      Donc... en l'état .. que te retournent tes variables ?
  9. les variables sont pseudo_exp et pseudo_dest ?
    Ah je vois ! tout à été inversé dans le $params c'est bien ça ?
    1. Pour ma function qui va supprimer l'invitation (la demande) justement, sachant que son mysl_ est :
      <?php
      //la function qui va supprimer l'invitation
      function supprimer_invitation()
      {
      	mysql_query(""
      	DELETE FROM amis WHERE pseudo_exp='{$_SESSION['pseudo']}' AND pseudo_dest='{$_GET['pseudo']}'
      	"");
      }
      	
      ?>


      C'est bon si je mets :
      <?php
      //la function qui va supprimer l'invitation
      function supprimer_invitation()
      global $bdd;
      
        //récupération des variables PROPREMENT !
        $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
        $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
      
       $result=0;
       if($pseudo_exp && $pseudo_dest){
        $sql = "DELETE
               FROM amis
               WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
      
        // je place les  params dans une variable avant de l'utiliser :
        $params = array('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ;
        
        $query = $bdd->prepare($sql);
        $query ->execute($params);  
        $requete = $query->fetchall();
       }
       // le return
       return $result;
      }


      ?
      1. Modérateur
        .... ne vois tu pas une erreur quant au noms des variables ?
        Une différence entre ton array de params .. et les variables indiquées dans la requête ?

        Dans ce code :
          $sql = "DELETE
                 FROM amis
                 WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
        
          // je place les  params dans une variable avant de l'utiliser :
          $params = array('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ;
          
        

        ....
        Quelles sont les variables indiquées dans le WHERE de ta requête ?
        Est-ce que selon toi ... tu as les mêmes dans le $params ??
    2. 1/ Nickel ! le 0 apparait !

      2/ Un "demande envoyée" avec "annuler la demande" en dessous
      1. Modérateur
        1 /
        remplaces la ligne
         return $active == 0 ? false : true ;
        


        par
         return $active == 0 ? 0 : 1 ;
        


        2/

        2/ Il faut que je fasse :
        }else if( $accepter_demande == 1 && $verifier_expediteur == 1){
        ?

        Ben je ne sais pas .... ... que veux tu obtenir exactement ?

        1. 1/
          //la function qui va verifier si le destinataire a accepté la demande
          function accepter_demande(){
            global $bdd;
          
            //récupération des variables PROPREMENT !
            $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
            $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
          
          
            $sql = "SELECT active FROM amis 
          	        FROM amis
                    WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)
                      OR  (pseudo_ dest = :get_pseudo AND pseudo_dest = :session_pseudo)";
          
            // je place les  params dans une variable avant de l'utiliser :
            $params = array('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ;
            
            $query = $bdd->prepare($sql);
            $query ->execute($params);  
            $result = $query->fetchall();
          	
           //On récupère le contenu de la colonne 'active'
            $active = isset($result) && count($result)>0 ? $result[0]['active'] : 0;
           
           // le return :
           // si active == 0 on retourne false .. sinon true :
           return $active == 0 ? false : true ;
          }


          2/ Il faut que je fasse :
          }else if( $accepter_demande == 1 && $verifier_expediteur == 1){    
          ?
          1. Oui c'est bon, sauf que pour accepter_demande je dois avoir un 0 normalement
            1. Modérateur
              la fonction accepter_demande .. elle ne retourne pas FALSE (et non pas 0 ) ?
              Car là .. si rien n'apparait .. je pense que c'est pour ça.

              A la limite .. remontre nous le code de ta fonction accepter_demande .

              Ensuite... reprenons tes IF pour savoir si, en partant des valeurs affichées... tu dois afficher ton lien ou pas.
              Donc le code de ton if est :
                if($demande_existe == 0){
                   echo "<div class='error'>
                         Vous n'êtes pas ami(e) avec ".$R['pseudo']."<br />
                        <a href='index.php?page=envoi&pseudo=".$R['pseudo']."'>Envoyer une invitation</a>
                      </div>";  
                  }else if( $accepter_demande == 0 && $verifier_expediteur == 1){    
                   echo "<div class='success'>Demande envoyée 
                   <a href='index.php?page=annuler&pseudo=".$R['pseudo']."'>Annuler la demande</a></div>";   
                 }else if($accepter_demande == 0 && $verifier_expediteur == 0){
                      echo "<div class='success'>Demande en cours<br />
                    Verifiez vos invitations
                    </div>";     
                   }
              
              


              To tu es dans le cas :

              accepter_demande => 0
              verifier_expediteur => 0

              Donc .. normal que le lien "Annuler la demande" n'apparaisse pas....
          2. UP !

            J'ai ça qui s'affiche :

            accepter_demande =>
            demande_existe => 1
            verifier_expediteur => 0
            1. Modérateur
              Pourquoi "UP" ???
              Tant que tu ne répondais pas à mes questions... de toutes façons on ne pouvait pas avancer ...... !!!!!

              Donc... selon toi (il y n'y a que toi qui peu le savoir.. (pas nous..) ..) ... est ce que les valeurs de tes variables :

              accepter_demande =>
              demande_existe => 1
              verifier_expediteur => 0

              correspond bien à ce que tu devrais obtenir ??

              => Autrement dit... est-ce que c'est conforme à ce que tu attends .. et à ce que tu as dans ta BDD ??
          3. Modérateur
            Il faut vérifier ce que retourne tes fonctions...
            <?php
            //-----------------------------
             //Profile.php 
            //-----------------------------
            
            include_once('body/header.php');
            include_once('body/menu.php');
            
            $pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
            $arr_infos = recuperer_info_membre_choisi($pseudo);
            $accepter_demande = accepter_demande();
            $demande_existe = demande_existe();
            $verifier_expediteur = verifier_expediteur();
            
            // Le temps des tests :
            echo "<div id='debug'>
                        <br>accepter_demande => ".$accepter_demande."
                        <br>demande_existe => ".$demande_existe."
                        <br>verifier_expediteur => ".$verifier_expediteur."
                       </div>";
            
            
            echo "<div class='info'>";
            
             if(count($arr_infos)>0 && $pseudo != $_SESSION['pseudo']){
            
              foreach($arr_infos as $R) {
              if($demande_existe == 0){
                 echo "<div class='error'>
                       Vous n'êtes pas ami(e) avec ".$R['pseudo']."<br />
                      <a href='index.php?page=envoi&pseudo=".$R['pseudo']."'>Envoyer une invitation</a>
                    </div>";  
                }else if( $accepter_demande == 0 && $verifier_expediteur == 1){    
                 echo "<div class='success'>Demande envoyée 
                 <a href='index.php?page=annuler&pseudo=".$R['pseudo']."'>Annuler la demande</a></div>";   
               }else if($accepter_demande == 0 && $verifier_expediteur == 0){
                    echo "<div class='success'>Demande en cours<br />
                  Verifiez vos invitations
                  </div>";     
                 }
                 echo"<img src='avatar/". $R['avatar']."' height='200' width='200' alt='avatar'>";
                 echo "<p><strong>Email : </strong><em>".$R['email']."</em></p>";
                 echo "<p><strong>Sexe : </strong><em>".$R['sexe']."</em></p>";
                 echo "<p><strong>A propos de vous : </strong><em>".$R['apropos']."</em></p>";
              }//fin du foreach  
             }else{
              header("Location:index.php?page=membre"); 
             }
             echo "</div>";
            ?>
            
            

            1. Faut il d'abord que je crée ma function supprimer_invitation avant de le faire apparaitre ??
              1. Non, par contre j'ai "Demande en cours" pour les 2 comptes alors que l'émetteur c'est le compte "xzak47" et le recepteur est "jean"
                1. C'est normal que le "Annuler invitation" ne s'affiche pas ?

                  <?php
                  //-----------------------------
                   //Profile.php 
                  //-----------------------------
                  
                  include_once('body/header.php');
                  include_once('body/menu.php');
                  
                  $pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
                  $arr_infos = recuperer_info_membre_choisi($pseudo);
                  $accepter_demande = accepter_demande();
                  $demande_existe = demande_existe();
                  $verifier_expediteur = verifier_expediteur();
                  
                  echo "<div class='info'>";
                  
                   if(count($arr_infos)>0 && $pseudo != $_SESSION['pseudo']){
                  
                    foreach($arr_infos as $R) {
                    if($demande_existe == 0){
                       echo "<div class='error'>
                             Vous n'êtes pas ami(e) avec ".$R['pseudo']."<br />
                            <a href='index.php?page=envoi&pseudo=".$R['pseudo']."'>Envoyer une invitation</a>
                          </div>";  
                      }else if( $accepter_demande == 0 && $verifier_expediteur == 1){    
                       echo "<div class='success'>Demande envoyée 
                       <a href='index.php?page=annuler&pseudo=".$R['pseudo']."'>Annuler la demande</a></div>";   
                     }else if($accepter_demande == 0 && $verifier_expediteur == 0){
                          echo "<div class='success'>Demande en cours<br />
                        Verifiez vos invitations
                        </div>";     
                       }
                       echo"<img src='avatar/". $R['avatar']."' height='200' width='200' alt='avatar'>";
                       echo "<p><strong>Email : </strong><em>".$R['email']."</em></p>";
                       echo "<p><strong>Sexe : </strong><em>".$R['sexe']."</em></p>";
                       echo "<p><strong>A propos de vous : </strong><em>".$R['apropos']."</em></p>";
                    }//fin du foreach  
                   }else{
                    header("Location:index.php?page=membre"); 
                   }
                   echo "</div>";
                  ?>
                  1. Modérateur
                    Ca dépend ....
                    Est-ce que la demande a été acceptée ? ....

                    Ca n'apparait que si les conditions sont respectées :
                    if( $accepter_demande == 0 && $verifier_expediteur == 1)
                    
                2. si je l'ai repris ^^
                  1. Modérateur
                    Pas quand tu as posté ton souci à la ligne 25 .... :-)
                • 1
                • 2