Function verifier_expediteur() en pdo

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - Modifié par Zakarya93 le 13/06/2015 à 20:53
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 18 juin 2015 à 20:18
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 13/06/2015 à 21:01
'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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
13 juin 2015 à 21:03
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
13 juin 2015 à 23:10
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
13 juin 2015 à 20:58
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
13 juin 2015 à 21:04
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par Zakarya93 le 13/06/2015 à 21:29
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
13 juin 2015 à 23:32
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 12:08
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 12:09
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 13:33
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 13:42
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 13:46
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 13:54
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
Modifié par jordane45 le 14/06/2015 à 14:02
<?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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 14:06
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 14: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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
Modifié par jordane45 le 14/06/2015 à 14:15
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 14:16
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par Zakarya93 le 14/06/2015 à 14:20
si je l'ai repris ^^
0
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 14:21
Pas quand tu as posté ton souci à la ligne 25 .... :-)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 14:23
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 14:31
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 17:24
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
14 juin 2015 à 17:28
Faut il d'abord que je crée ma function supprimer_invitation avant de le faire apparaitre ??
0
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
14 juin 2015 à 18:04
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
15 juin 2015 à 13:58
UP !

J'ai ça qui s'affiche :

accepter_demande =>
demande_existe => 1
verifier_expediteur => 0
0
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
15 juin 2015 à 14:00
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
15 juin 2015 à 14:08
Oui c'est bon, sauf que pour accepter_demande je dois avoir un 0 normalement
0
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
15 juin 2015 à 14:17
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
15 juin 2015 à 14:21
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 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
15 juin 2015 à 14:29
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