Function verifier_expediteur() en pdo

Résolu
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   -  
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   -
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

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut
C'est bon si j'ai fais
As-tu testé sur un serveur local au moins?
C'est pas que je veuille paraître méchant, mais démerdes-toi un peu tout seul, bon sang!
De plus tu n'as fait qu'un vulgaire copier/coller d'un code qui t'as été donné et qui ne fait pas ce que tu souhaites ici.
jordane45 s'est déjà tué à t'expliquer la démarche étape par étape... on ne va pas tout convertir à ta place.

Ou si tu cherches quelqu'un pour le faire, pose une annonce sur un site de freelance ou un truc du genre. Toutefois il n'y a aucun mérite à ce qu'un ou des autres le fassent à ta place: TU dois être en mesure de comprendre le code et l'adapter à tes besoins, pas nous, car on sait déjà faire.
from human import idiocy
del idiocy
1
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
C'est vrai que j'abuse un peu trrop de sa gentillesse je reconnais...mais j'aimerai qu'il m'aide juste pour les 2-3 choses manquantes qu'il reste j'ai bientot fini
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu sais que si je te factuerai le temps passé comme je le fais pour mes clients. .. ça serait aux alentours de 300 euros la journée minimum ??

Je vais voir ce que je peux faire ppur te le corriger. .. mais c'est clair que ça serait chouette que tu apprenes à le faire toi même. ..
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Je pense que c'est exactement le même précédant code à appliquer, mais j'ai pas compris ce qu'il fallait modifier pour le

SELECT COUNT(id_invitations)
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Lis (et comprends) ce tutoriel intégralement, et seulement une fois ça fait, reviens nous voir. N'oublie pas de tester le code donné dans chaque paragraphe avec un serveur local, pour que tu comprennes Comment Ça Marche.
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Je demande simplement une correction :

//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;


  $sql = "SELECT COUNT
         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 'count'
  $infos['result'] = (count($result)>0) ? $result[0]  : NULL;
 
 // le return :
 return $req->rowCount();
}
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ca doit donner un truc du genre :
//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;

 $result=0;
 if($id_exp && $id_dest){
  $sql = "SELECT COUNT(id_invitations) as NB
         FROM amis
         WHERE (id_exp = :session_pseudo AND id_dest = :get_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);  
  $requete = $query->fetchall();
  $result = $requete[0]['NB'];
 }
 // le return le nombre d'invitations:
 return $result;
}

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
J'obtiens : Notice: Undefined offset: 0 in C:\wamp\www\rs\functions\profile.func.php on line 98
0

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

Posez votre question
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Notice: Undefined offset: 0 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 ? false : true ;
}

//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;

 $result=0;
 if($id_exp && $id_dest){
  $sql = "SELECT COUNT(id_invitations) as NB
         FROM amis
         WHERE (id_exp = :session_pseudo AND id_dest = :get_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);  
  $requete = $query->fetchall();
  $result = $requete[0]['NB'];
 }
 // le return le nombre d'invitations:
 return $result;
}
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
tu es sûr de ta requête ??
Surtout au niveau du where
  WHERE (id_exp = :session_pseudo AND id_dest = :get_pseudo)"; 

les champs id_exp et id_dest existent dans ta table ??

Dans les autres requêtes on a utilisé les champs
 WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
C'est corrigé :
<?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 ? false : true ;
}

//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('get_pseudo' => $id_exp , 'session_pseudo' => $id_dest) ;
  
  $query = $bdd->prepare($sql);
  $query ->execute($params);  
  $requete = $query->fetchall();
  $result = $requete[0]['NB'];
 }
 // le return le nombre d'invitations:
 return $result;
}


Mais j'ai ces 3 erreurs :
Notice: Undefined variable: id_exp in C:\wamp\www\rs\functions\profile.func.php on line 93

Notice: Undefined variable: id_dest in C:\wamp\www\rs\functions\profile.func.php on line 93

Notice: Undefined offset: 0 in C:\wamp\www\rs\functions\profile.func.php on line 98
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu fais des copier/coller ... dans réflechir et sans regarder ce que tu fais...
Je t'ai parlé des CHAMPS de ta table .. pas des variables ....
Il fallait faire un "mixte" de te ancienne ligne et de la nouvelle.....

bref :
//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('get_pseudo' => $pseudo_exp , 'session_pseudo' => $pseudo_dest) ;
  
  $query = $bdd->prepare($sql);
  $query ->execute($params);  
  $requete = $query->fetchall();
  $result = (count($requete)>0)?$requete[0]['NB']:0;
 }
 // le return le nombre d'invitations:
 return $result;
}

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Non j'avais juste mal modifié ^^
sinon j'ai : Parse error: syntax error, unexpected '}' in C:\wamp\www\rs\pages\profile.php on line 45

<?php
//-----------------------------
 //Profile.php 
//-----------------------------

include_once('body/header.php');
include_once('body/menu.php');
?>
<div class='info'>
<?php
if(!function_exists('recuperer_info_membre_choisi')){
 echo "ERREUR : La fonction recuperer_info_membre_choisi n'existe pas ! ";
}
$pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
$arr_infos = recuperer_info_membre_choisi($pseudo);

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){
				
				?>
				    <div class='success'>Demande envoyée 
					<a href="">Annuler la demande</a></div>
					
                <?php
			}else if(accepter_demande() == 0 && verifier_expediteur() == 0){
				?>
			         <div class='success'>Demande en cours<br />
					 "Verifiez vos invitations"
					 </div>
			    <?php
}
            }
     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>";
 }
}else{
	header("Location:index.php?page=membre");	
}
?>
</div>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
<?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);

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=''>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>";
?>


Cordialement,
Jordane
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Dans l'idéal il faut éviter d'appeler les différentes fonctions dans tes IFs ...
il est préférable de les lancer UNE SEULE fois .. puis de tester avec des variables....

comme ceci :
<?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=''>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>";
?>


0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
J'ai : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\rs\pages\profile.php on line 25

<?php
//-----------------------------
 //Profile.php 
//-----------------------------

include_once('body/header.php');
include_once('body/menu.php');

$pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

echo "<div class='info'>";

 $arr_infos = recuperer_info_membre_choisi($pseudo);

 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>";
?>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
erreur de quotes

  echo "<div class='success'>Demande envoyée 
     <a href='index.php?page=annuler&pseudo=".$R['pseudo']."'>Annuler la demande</a></div>";    


Cordialement,
Jordane
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu n'as pas repris le dernier code que je t'ai mis à dispo !!!!

<?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=''>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>";
?>

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
si je l'ai repris ^^
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Pas quand tu as posté ton souci à la ligne 25 .... :-)
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
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>";
?>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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)
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
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"
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Faut il d'abord que je crée ma function supprimer_invitation avant de le faire apparaitre ??
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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>";
?>


0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
UP !

J'ai ça qui s'affiche :

accepter_demande =>
demande_existe => 1
verifier_expediteur => 0
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 ??
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Oui c'est bon, sauf que pour accepter_demande je dois avoir un 0 normalement
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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....
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
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){    
?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 ?

0