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 -
Zakarya93 Messages postés 984 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sachant que le code mysql_ que je dois convertir est :
C'est bon si j'ai fais :
Merci d'avance :)
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 :)
A voir également:
- Function verifier_expediteur() en pdo
- Multi-function hdd docking 893u3 driver download ✓ - Forum Disque dur / SSD
- (Function(){css.removeclass(document.body,%20'profile_two_columns'); tab_controller.changepage("photos");})() ✓ - Forum Access
- Call to undefined function mysqli_connect() ✓ - Forum PHP
- Facebook profil sans etre ami ✓ - Forum Facebook
- [VBS] Aide Sub/function - Forum VB / VBA
31 réponses
Pour ma function qui va supprimer l'invitation (la demande) justement, sachant que son mysl_ est :
C'est bon si je mets :
?
<?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; }
?
.... 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 :
....
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 ??
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 ??
les variables sont pseudo_exp et pseudo_dest ?
Ah je vois ! tout à été inversé dans le $params c'est bien ça ?
Ah je vois ! tout à été inversé dans le $params c'est bien ça ?
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) ;
?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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);
//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 !
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
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
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 !
Y 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; }
Regardez ici à la fin de la vidéo : https://www.youtube.com/watch?v=OgW_uzBqgfo
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.
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.
Cordialement,
Jordane
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
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
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; }
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 )