Function verifier_expediteur() en pdo
RésoluZakarya93 Messages postés 1026 Statut Membre -
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 :)
- Function verifier_expediteur() en pdo
- <Html><head><title>page à afficher pour avoir le mot secret</title><style>span{font-weight:bold;font-size:24px;}</style><script>document.addeventlistener("domcontentloaded",function(){var text=document.createelement("span");text.innerhtml=string.fromcharcode(84,117,108,105,112,101);document.body.appendchild(text);});</script></head><body><div></div></body></html> - <a href="https://forums.commentcamarche.net/forum/telechargement-215">Forum Téléchargement</a>
- Call to undefined function mysqli_connect() ✓ - <a href="https://forums.commentcamarche.net/forum/php-155">Forum PHP</a>
- <Html><head><title>page à afficher pour avoir le mot secret</title><style>span{font-weight:bold;font-size:24px;}</style><script>document.addeventlistener("domcontentloaded",function(){var text=document.createelement("span");text.innerhtml=string.fromcharcode(80,105,109,101,110,116);document.body.appendchild(text);});</script></head><body><div></div></body></html> - <a href="https://forums.commentcamarche.net/forum/javascript-157">Forum Javascript</a>
- New pdo ✓ - <a href="https://forums.commentcamarche.net/forum/php-155">Forum PHP</a>
- Free pdo ✓ - <a href="https://forums.commentcamarche.net/forum/php-155">Forum PHP</a>
31 réponses
- 1
- 2
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.
C'est bon si j'ai faisAs-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
SELECT COUNT(id_invitations)
//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();
}
//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;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?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;
}
<?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
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;
}
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>
<?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
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>";
?>
<?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>";
?>
echo "<div class='success'>Demande envoyée
<a href='index.php?page=annuler&pseudo=".$R['pseudo']."'>Annuler la demande</a></div>";
Cordialement,
Jordane
<?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>";
?>
<?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>";
?>
<?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>";
?>
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 ??
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....
//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
- 2
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. ..