Soucy d'un echo avec une condition

Résolu
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   -  
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai fais ce code

<?php
if ($comp['ami_from'] != $data1['membre_id'])
{
echo '<a href="liste_d_ami.php?action=add&amp;membre_pseudo='.urlencode($data1['membre_pseudo']).'" title="Ajouter un ami">Ajouter un ami</a><br />';
}
else
{
echo '<strong>ce membre fait parti de vos amis</strong><br />';
}
?>


mais le soucy c'est qui m'affiche toujours Ajouter un ami et si je vais sur un profil de mon amis il me met toujours Ajouter un ami hors il devrait me mettre ce membre fait parti de vos amis car il est mon amis mais cette echo ne fonctionne pas

merci de votre aide

18 réponses

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Bsr

Liste le contenu des tes variables pour vérifier ce qui cloche

Ajoute le code comme ci-dessous pour débogger

<?php
echo "<pre>";
var_dump($comp);
var_dump($datat1);
echo "</pre>";
if ($comp['ami_from'] != $data1['membre_id'])
{
echo '<a href="liste_d_ami.php?action=add&membre_pseudo='.urlencode($data1['membre_pseudo']).'" title="Ajouter un ami">Ajouter un ami</a><br />';
}
else
{
echo '<strong>ce membre fait parti de vos amis</strong><br />';
}
?>
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
merci là il met met

NULL
NULL

donc comment je doit le mettre pour afficher soit l'un où l'autre

merci
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Hum c'est pas normal que tu obtiennes null ! Ca signifie que tes variables n'existent pas

Elles proviennent d'où tes variables $comp['ami_from'] et $data1['membre_id'] ?
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
en faite à la base j'ai mis ce code :

//On compte le nombre de demande en cours et on met quelques liens
$demande_ami = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_amis 
WHERE ami_to = '.intval($_SESSION['id']).' AND ami_confirm = "0"'), 0);

//Cette ligne va permettre d'afficher 0 plutôt qu'un vide
if (empty($demande_ami)) $demande_ami=0;

echo '<a href="liste_d_ami.php?action=add&amp;membre_pseudo='.urlencode($data1['membre_pseudo'])
.'" title="Ajouter un ami">Ajouter un ami</a>
<br />';


et aprés je me suis dit pk pas de mettre un echo pour dire quil est déjà mon amis

et si je reprend la liste d'amis qui fonctionne bien et qui comprend que le membre fait dejà parti de ma liste donc il faudrais remettre ce code mais j'ai éssayé mais ça n'a pas marché

donc voilà le code dans ma page liste d'ami où il comprend

//On vérifie que le pseudo renvoit bien quelque chose :o

$requete = mysql_query("SELECT membre_id, COUNT(*) AS nbr FROM forum_membres 
WHERE membre_pseudo = '".$pseudo_d."'
GROUP BY membre_pseudo") or die(mysql_error());
$data = mysql_fetch_assoc($requete);
$pseudo_exist = $data['nbr'];
$i = 0;
if(!$pseudo_exist)
{
echo '<p>Ce membre ne semble pas exister<br />
Cliquez <a href="./liste_d_ami.php?action=add">ici</a> pour réessayer</p>';
$i++;
}
$deja_ami = mysql_result(mysql_query("SELECT COUNT(*) AS nbr FROM forum_amis 
WHERE ami_from = '".intval($_SESSION['id'])."' AND ami_to = '".$data['membre_id']."'
OR ami_from = '".intval($_SESSION['id'])."' AND ami_to = '".$data['membre_id']."'"),0);
if ($deja_ami != 0)
{
echo '<p>Ce membre fait déjà parti de vos amis ou a déjà proposé son amitié :p<br />
Cliquez <a href="./liste_d_ami.php?action=add">ici</a> pour réessayer</p>';
$i++;
}


donc il faut reprendre un bout de code et de remettre dans voirprofil mais j'ai déjà éssayé mais ça n'a pas marché

merci de votre aitre
0

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

Posez votre question
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Déjà c'est $data['membre_id'] plutôt que $data1['membre_id'] : $data1[] n'existe pas on dirait

Par contre pour $comp['ami_from'] : ça je sais pas d'où tu le sors il apparaît nulle part dans ton code
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
merci donc si je met ce code

<?php
if ($data['ami_from'] != $data['membre_id'])
{
echo '<a href="liste_d_ami.php?action=add&amp;membre_pseudo='.urlencode($data['membre_pseudo']).'" title="Ajouter un ami">Ajouter un ami</a><br />';
}
else
{
echo '<strong>ce membre fait parti de vos amis</strong><br />';
}
?>


là il me met

ce membre fait parti de vos amis

pour le profil de mon amis là c'est bon

mais si je regarde un autre profil qui n'est pas mon amis il me met toujours ce membre fait parti de vos amis au lieu dire ajouter un amis

merci de ton aide
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
je peux pas te dire : ton code est trop incomplet

Donne le code de toute la page
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
si on reprend la page liste d'ami qui est :

http://rafb.net/p/LiryxF17.html

et ceux qui m'interresse c'est juste 2 echos

1 echo pour ajouté un amis et l'autre ce membre fait parti de votre amis

don il faut mettre soit l'un où l'autre

merci

et tu me diras quoi remplacer dans ce code

<?php
if ($data['ami_from'] != $data['membre_id'])
{
echo '<a href="liste_d_ami.php?action=add&amp;membre_pseudo='.urlencode($data['membre_pseudo']).'" title="Ajouter un ami">Ajouter un ami</a><br />';
}
else
{
echo '<strong>ce membre fait parti de vos amis</strong><br />';
}
?>


par quoi

merci pour ton aide
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
un petit up pour savoir situ as trouvé la solution pour affiché soit l'un où l'autre mon echo

merci
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
bjr

Il m'a fallu un certain temps avant de réaliser que tu essayais de modifier le code de la page
voirprofil.php et pas liste_d_ami.php que tu as posté !!!

Faut être précis : Je suis pas devin ! Les autres intervenants non plus ...

Le code de la page liste_d_ami.php semble bien écrit c'est déjà ça ;-)

Poste le code de la page voirprofil.php et surtout fait ressortir l'emplacement où tu veux insérer ton morceau de code !
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
merci c'est pour ca que je viens posté c'est pour vous que tu m'aide car si je reprend le morceau dans liste d'ami

et mettre dans voir profil ça ne marche plus

merci
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Le question est : "pourquoi copier/coller du code un peu au hasard fonctionnerait ?"

T'as aucune chance que ça fonctionne si tu ne comprends pas de A à Z le code PHP contenu dans ta page
voirprofil.php

Poste le code de la page voirprofil.php


0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
re voilà la page voir profil j'ai bien fait pour cacher où montrer leur mail donc c'est bon

donc je veut faire la même chose pour ajouter un amis où ce membre est votre ami

merci

et voilà le code

http://rafb.net/p/qFVk4P59.html

merci d'avance
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Déjà ici

$demande_ami = mysql_query('SELECT * FROM forum_amis, forum_membres WHERE ami_to="'.$_SESSION['id'].'"')or die(mysql_error());

Il manque la clause ON dans la jointure

Ensuite au départ tu utilises directement des variables comme $action ou $membre sans même les initialiser depuis $_GET[] ou $_POST[]

Dans ta page liste_ami.php tu passes l'identifiant dans un paramètre nommé "m" donc PHP va récupérer $m certainement pas $membre
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
donc il faut reprendre ce code

$deja_ami = mysql_result(mysql_query("SELECT COUNT(*) AS nbr FROM forum_amis 
WHERE ami_from = '".intval($_SESSION['id'])."' AND ami_to = '".$data['membre_id']."'
OR ami_from = '".intval($_SESSION['id'])."' AND ami_to = '".$data['membre_id']."'"),0);
if ($deja_ami != 0)
{
echo '<p>Ce membre fait déjà parti de vos amis ou a déjà proposé son amitié :p<br />
Cliquez <a href="./liste_d_ami.php?action=add">ici</a> pour réessayer</p>';
$i++;
}


et pour ami from et ami to ce n'est pas moi c'etait dans le tuto site de zero donc

si tu peux m'aidé à faie mes 2 echo je t'en remerci d'avance
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Essai avec cette requête :

$demande_ami = mysql_query('SELECT * FROM forum_amis WHERE ami_from="'.$_SESSION['id'].'" and ami_to="'.$data1['membre_id'].'"')or die(mysql_error());

0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
re donc on vas reprendre au debut

donc a partir de ce code avec tes modifs

//On compte le nombre de demande en cours et on met quelques liens
$demande_ami = mysql_query('SELECT * FROM forum_amis WHERE ami_from="'.$_SESSION['id'].'" and ami_to="'.$data1['membre_id'].'"')or die(mysql_error());
$comp = mysql_fetch_array($demande_ami);

if($comp['ami_from'] != $data1['membre_id'])
{
echo '<a href="liste_d_ami.php?action=add&amp;membre_pseudo='.urlencode($data1['membre_pseudo']).'" title="Ajouter un ami">Ajouter un ami</a><br />';
}
else
{
echo '<strong>ce membre fait parti de vos amis</strong><br />';
}


mais il ne veu pas affiché l'écho il affiche toujours ajouter un ami

merci
0
will.smith Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   10
 
excuse de faire un up mais je veut savoir comment on fait

merci
0