Problème d'invitation et function recup_invitation
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 -
Zakarya93 Messages postés 984 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
1/ Quand je me connecte sur mon site avec le compte xzak47 qui recoit l'invitation, normalement il devrait y avoir sur le profil de l'émetteur (jean) : Demande en cours, verifiez vos invitations / quand il clique sur le profil qui lui a envoyé la demande
voici mon code :
2/ Sachant que le script mysql_ de ma function recup_invitation est :
pouvez-vous corrigé le code que j'ai fais ?
Merci d'avance :)
1/ Quand je me connecte sur mon site avec le compte xzak47 qui recoit l'invitation, normalement il devrait y avoir sur le profil de l'émetteur (jean) : Demande en cours, verifiez vos invitations / quand il clique sur le profil qui lui a envoyé la demande
voici mon code :
<?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>"; ?>
2/ Sachant que le script mysql_ de ma function recup_invitation est :
<?php //la functions va recuperer les invitations function recup_invitations() { $query = mysql_query("SELECT pseudo_exp,date_invitation,active,avatar FROM amis INNER JOIN users ON users.pseudo=amis.pseudo_exp WHERE pseudo_dest='{$_SESSION['pseudo']}' ORDER BY date_invitation DESC "); $results=array(); while($row=mysql_fetch_assoc($query)) { $results[]=$row; } return $results; } ?>
pouvez-vous corrigé le code que j'ai fais ?
<?php //la function qui va recuperer les invitations function recup_invitations() { 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= array(); if($pseudo_exp && $pseudo_dest){ $sql = "SELECT pseudo_exp,date_invitation,active,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp 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('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest); $query = $bdd->prepare($sql); $query ->execute($params); $requete = $query->fetchall(); } // le return return $result; }
Merci d'avance :)
A voir également:
- Problème d'invitation et function recup_invitation
- Invitation facebook disparu - Guide
- Impossible d'envoyer l'invitation facebook - Forum Mail
- Invitation annulée facebook visible ✓ - Forum Facebook
- Invitation par message messenger ✓ - Forum Mail
- Invitation envoyée - Forum Facebook
5 réponses
Dans ta requête ...
Tu y as combien de paramètres ??
Et dans le params.... tu en as combien ?
... à ton avis... est-ce bon ?
$sql = "SELECT pseudo_exp,date_invitation,active,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE (pseudo_dest = :get_pseudo)";
Tu y as combien de paramètres ??
Et dans le params.... tu en as combien ?
$params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest);
... à ton avis... est-ce bon ?
Donc... le code devrait donner :
Après... que doit retournée cette fonction ?
un booleen ( 1 ou 0 )
ou bien .. un tableau contenant toutes les données de la BDD corresponds à la requête ?
Si c'est un booleen que tu veux... il faut modifier le return ainsi
<?php //la function qui va recuperer les invitations function recup_invitations() { global $bdd; //récupération des variables PROPREMENT ! $pseudo_get= isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $result= array(); if($pseudo_exp && $pseudo_dest){ $sql = "SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = :get_pseudo"; // je place les params dans une variable avant de l'utiliser : $params = array(':get_pseudo' => $pseudo_get); $query = $bdd->prepare($sql); $query ->execute($params); $requete = $query->fetchall(); } // le return return $result; }
Après... que doit retournée cette fonction ?
un booleen ( 1 ou 0 )
ou bien .. un tableau contenant toutes les données de la BDD corresponds à la requête ?
Si c'est un booleen que tu veux... il faut modifier le return ainsi
return count($result)>0?1:0;
oupsss...
<?php //la function qui va recuperer les invitations function recup_invitations() { global $bdd; //récupération des variables PROPREMENT ! $pseudo_get= isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $result= array(); if($pseudo_get){ $sql = "SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = :get_pseudo"; // je place les params dans une variable avant de l'utiliser : $params = array(':get_pseudo' => $pseudo_get); $query = $bdd->prepare($sql); $query ->execute($params); $requete = $query->fetchall(); } // le return return $result; }
Tu obtiens quoi dans phpmyadmin si tu lances la requête
et avec
Et aussi .. que donnes ce code ?
SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = 'jean'
et avec
SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = 'xzak47'
Et aussi .. que donnes ce code ?
/la function qui va recuperer les invitations function recup_invitations() { global $bdd; //récupération des variables PROPREMENT ! $pseudo_get= isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $result= array(); if($pseudo_get){ $sql = "SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = :get_pseudo"; // je place les params dans une variable avant de l'utiliser : $params = array(':get_pseudo' => $pseudo_get); $query = $bdd->prepare($sql); $query ->execute($params); $requete = $query->fetchall(); } // pour les tests : echo "<br> PARAMS :<br>"; print_r($params); // le return return $result; }
le code me donne : Notice: Undefined variable: params in C:\wamp\www\rs\functions\invitations.func.php on line 29 avec un params et un array qui s'affichent
pour la première requete 1/ : MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0200 sec)
respectivement, la 2/ : MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0010 sec)
pour la première requete 1/ : MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0200 sec)
respectivement, la 2/ : MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0010 sec)
Visiblement;.. tu n'as rien dans la variable GET ...
testes ça :
testes ça :
function recup_invitations() { global $bdd; //récupération des variables PROPREMENT ! $pseudo_get= isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $result= array(); if($pseudo_get){ $sql = "SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = :get_pseudo"; // je place les params dans une variable avant de l'utiliser : $params = array(':get_pseudo' => $pseudo_get); // pour les tests : echo "<br> PARAMS :<br>"; print_r($params); $query = $bdd->prepare($sql); $query ->execute($params); $requete = $query->fetchall(); }else{ echo "<br> Erreur .. aucun pseudo ! "; print_r($_GET); } // le return return $result; }
C'est un souci de requête ET de variable ...
En fait .. c'est par rapport à la variable en SESSION que tu veux récupérer les infos ... donc:
En fait .. c'est par rapport à la variable en SESSION que tu veux récupérer les infos ... donc:
function recup_invitations() { global $bdd; //récupération des variables PROPREMENT ! $pseudo_dest= isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $result= array(); if($pseudo_dest){ $sql = "SELECT pseudo_exp ,date_invitation ,active ,avatar FROM amis INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp WHERE pseudo_dest = :session_pseudo"; // je place les params dans une variable avant de l'utiliser : $params = array(':session_pseudo' => $pseudo_dest); // pour les tests : echo "<br> PARAMS :<br>"; print_r($params); $query = $bdd->prepare($sql); $query ->execute($params); $requete = $query->fetchall(); }else{ echo "<br> Erreur .. aucun pseudo ! "; } // le return return $result; }
Ah oui dans la requete ! j'obtiens : MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0170 sec)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
params : 2 paramètres
Requête 4 ????
Combien de variable avec les ":" ?
Il n'y a que :get_pseudo
...
Quoi qu'il en soit ... le nombre doit être identique entre la requête et le params...
comme ceci ?