Lien "retirer de votre liste amis" a disparu et confusion profil

Résolu
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   -  
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Avant d'attaquer la messagerie (ce qui va clore mon site) :

1/ Mon lien pour retirer un amis de ma liste a disparu... et quand je vais dans liste_membre et que je clique sur le profil de "jean" je vois qu'il a les mêmes données que mon compte "xzak47" (à savoir l'email, àpropos et le sexe)...voici le code concerné :
<?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();

 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 ">a href'>Envoyer un message</a></p>" 
     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><br /><br />";

if( $accepter_demande == 1 && $verifier_expediteur == 1){
  echo "<a href='index.php?page=supprimer_amis&pseudo=". $R['pseudo']."' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a>";
}
  
  }//fin du foreach  
 }else{
  header("Location:index.php?page=membre"); 
 }
 echo "</div>";
?>


2/ J'ai cette erreur : Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in C:\wamp\www\rs\pages\profile.php on line 32

Merci encore ;)
A voir également:

19 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Pour le 2, en général, regardes la ligne juste avant, tu trouvera l'erreur.
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci, j'ai : >a href'>Envoyer un message
qui s'affiche :(
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Je viens de remarquer que quand je vais dans liste_membre et que je clique sur le profil de "jean" je vois qu'il a les mêmes données que mon compte "xzak47" (à savoir l'email, àpropos et le sexe)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ligne 31
Manque un ;
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
c'est rajouté ^^ mais plus haut j'ai dit que j'ai : >a href'>Envoyer un message
qui s'affiche :(
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ligne 31 ..tu as inversé le > .. devant le premier a
il faut
 <a href ...   
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai mtn un "Envoyer un message" mais je ne peux pas cliquer dessus
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Regardes le code généré, cela te donnera sûrement une explication.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

j'ai mtn un "Envoyer un message" mais je ne peux pas cliquer dessus

Et tu penses que sans voir le code "modifié" .. nous allons pouvoir deviner où se trouve le souci ???

Il faut
1 - Que tu regardes le code généré (celui affiché par ton navigateur.. clic droit.. afficher la source)
2 - Que tu nous montres le code PHP corrigé

NB: Pour qu'un lien fonctionne... il faut qu'il soit correctement écrit !
A savoir :
 echo "<a href='index.php?page=envoyer&pseudo=".$R['pseudo']."'>Envoyer un message</a></p>";

=> Je suis parti du principe où tu avais une page nommée : envoyer.php.

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci, et sinon comment expliquer la confusion de profil et la disparition de "retirer de votre liste d'amis" ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
quand je vais dans le compte jean, le "retirer de la liste..." y est sauf que quand je clique dessus, j'ai au moins 6 erreurs..
de plus, quand je change ses informations, les infos du deuxième compte crée sur le site change aussi en même temps (xzak47)
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Salut,

Donne-nous les messages d'erreurs que tu obtiens et vérifie tes requêtes qui te permettent d'afficher les infos du profil sélectionné.
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention  
 
http://www.noelshack.com/2015-25-1434918090-erreur.jpg

le code en question :
<?php 
//la function qui va refuser l'invitation
function refuser_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;

 $return = 0;
 if($pseudo_dest && $pseudo_exp){
  $sql = "DELETE FROM amis
                 WHERE pseudo_exp = :pseudo_session 
         AND pseudo_dest = :pseudo_get
		 OR  pseudo_exp = :pseudo_get
		 AND pseudo_dest = :pseudo_session";
        
  // je place les  params dans une variable avant de l'utiliser :
  $params = array(':session_pseudo' =>$pseudo_session , ':get_pseudo' => $pseudo_get );
 
    try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
     $etatDemande = checkActive($pseudo_session,$pseudo_get );
    // echo " <br> La demande est maintenant = ".$etatDemande;
     $return = $etatDemande;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
  }
 }
 return $return;
}

/**
* Verifie l'état d'une demande
*/
function checkActive($pseudo_dest,$pseudo_exp ) {
global $bdd;
$return = -1;

$sql =        "DELETE FROM amis
                 WHERE pseudo_exp = :pseudo_exp 
                 AND pseudo_dest = :pseudo_dest";

      // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_dest' =>$pseudo_dest , ':pseudo_exp' => $pseudo_exp );
 
  try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
   $result = $query->fetchall();
   $return = count($result)>0 ? $result[0]['active']:-1;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
  }
 
 return $return;
}
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Tu utilises les variables
$pseudo_session
et
$pseudo_get
qui ne sont pas définies !
0

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

Posez votre question
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
c bon comme ceci ?
<?php 
//la function qui va refuser l'invitation
function refuser_invitation() {
global $bdd;

  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $return = 0;
 if($pseudo_dest && $pseudo_exp){
  $sql = "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
    try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
     $etatDemande = checkActive($pseudo_session,$pseudo_get );
    // echo " <br> La demande est maintenant = ".$etatDemande;
     $return = $etatDemande;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
  }
 }
 return $return;
}

/**
* Verifie l'état d'une demande
*/
function checkActive($pseudo_dest,$pseudo_exp ) {
global $bdd;
$return = -1;

$sql =        "DELETE FROM amis
                 WHERE pseudo_exp = :get_pseudo
         AND pseudo_dest = :session_pseudo";

      // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_dest' =>$pseudo_dest , ':pseudo_exp' => $pseudo_exp );
 
  try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
   $result = $query->fetchall();
   $return = count($result)>0 ? $result[0]['active']:-1;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
  }
 
 return $return;
}
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Relis ton code....
encore.. des variables différentes
  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;


 if($pseudo_dest && $pseudo_exp){
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Hormis ça.. le reste a l"air correct.
et puis...en même temps... il te suffit de tester pour savoir si c'est bon ou non...
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
ah merci :) j'ai testé mais jean refuse de sortir de ma liste d'amis et le lien reste malgré ça
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention  
 
... peux tu (normalement je ne devrais plus avoir à te le demander à chaque fois......) nous montrer ton code corrigé ?????
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
pardonnez-moi :
<?php 
//la function qui va refuser l'invitation
function refuser_invitation() {
global $bdd;

  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $return = 0;
 if($pseudo_get && $pseudo_session){
  $sql = "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
    try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
     $etatDemande = checkActive($pseudo_session,$pseudo_get );
    // echo " <br> La demande est maintenant = ".$etatDemande;
     $return = $etatDemande;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
  }
 }
 return $return;
}

/**
* Verifie l'état d'une demande
*/
function checkActive($pseudo_session,$pseudo_get ) {
global $bdd;
$return = -1;

$sql =        "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
  try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
   $result = $query->fetchall();
   $return = count($result)>0 ? $result[0]['active']:-1;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
  }
 
 return $return;
}
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Donc là .. quand tu lances ce code ... tu ,n'a pas de message d'erreur on est d'accord .?

Peux tu faire, dans ta BDD, un
SELECT *  FROM amis

Et nous montrer ce que ça te donne ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
http://www.noelshack.com/2015-26-1434929726-erreur2.jpg
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Par contre.. je viens de voir ..
Pourquoi as tu changé la fonction function checkActive($pseudo_session,$pseudo_get ) { ???
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
je l'ai remis :
<?php 
//la function qui va refuser l'invitation
function refuser_invitation() {
global $bdd;

  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $return = 0;
 if($pseudo_get && $pseudo_session){
  $sql = "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
    try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
     $etatDemande = checkActive($pseudo_session,$pseudo_get );
    // echo " <br> La demande est maintenant = ".$etatDemande;
     $return = $etatDemande;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
  }
 }
 return $return;
}

/**
* Verifie l'état d'une demande
*/
function checkActive($pseudo_dest,$pseudo_exp ) {
global $bdd;
$return = -1;

$sql =        "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
  try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
   $result = $query->fetchall();
   $return = count($result)>0 ? $result[0]['active']:-1;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
  }
 
 return $return;
}


j'ai : http://www.noelshack.com/2015-26-1434929726-erreur2.jpg
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
De toutes façons .. ici .. tu ne devrais pas en avoir besoin !


remplaces tout ton code par :
<?php 
//la function qui va refuser l'invitation
function refuser_invitation() {
global $bdd;

  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $return = 0;
 if($pseudo_get && $pseudo_session){
  $sql = "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
    try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
     $return = 1;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
  }
 }
 return $return;
}
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
c'est fait mais rien n'a changé, pareil pour la requete rien n'a changé
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et ça :

<?php 
//la function qui va refuser l'invitation
function refuser_invitation() {
global $bdd;

  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $return = 0;
 if($pseudo_get && $pseudo_session){
  $sql = "DELETE FROM amis
                 WHERE 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_session , ':get_pseudo' => $pseudo_get );
 
  eho "<br> le temps des tests :";
   echo "<br>params : <br>";
   print_r($params);
   echo "<br>je suis connecté avec : ".$pseudo_session ;
  echo "<br>je veux supprimer  : ". $pseudo_get ;


    try{
     $query = $bdd->prepare($sql);
     $query ->execute($params);  
     $return = 1;
  }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
  }
 }else{
   echo "<br> ERREUR ! Variables vides !";
 } 
 return $return;
}



Cordialement,
Jordane
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai : Parse error: syntax error, unexpected '"<br> le temps des tests :"' (T_CONSTANT_ENCAPSED_STRING) in C:\wamp\www\rs\functions\supprimer_amis.func.php on line 19
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Je te laisse corriger cette petite erreur de frappe
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai corrigé :
  echo "<br> le temps des tests :";

plus d'erreurs mais quand je retire de la liste d'amis rien ne se passe encore :/
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
.... rien ne se passe .... c' est à dire ????????

Tu as bien des choses qui s'affichent sur ta page non ?
(vu que je t'ai fait ajouter du debug.....)

Tu as bien pensé à commenter les redirections ( header:location ...) de ta page "refuser.php" ????
Sinon.. en effet.. tu ne verras jamais les erreurs et/ou les debug que j'ai ajouté !!!!
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai ceci qui s'affiche : le temps des tests
params :
Array ( [:session_pseudo] => jean [:get_pseudo] => xzak47 )
je suis connecté avec : jean
je veux supprimer : xzak47
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention  
 

je suis connecté avec : jean
je veux supprimer : xzak47

Et ça c'est correct ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Oui tout à fait :)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Testes la requête en direct dans ta BDD :
DELETE FROM amis
 WHERE pseudo_exp = ' xzak47'
    AND pseudo_dest = 'jean'



0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
0 ligne supprimée. (Traitement en 0.0000 sec)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention  
 
Et un
SELECT * FROM amis

ça donne quoi ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention  
 
Heu.. tu as vu que j'avais mis un espace en trop ?
Tu l'as corrigé avant de lancer la requête bien sûr .........

DELETE FROM amis
 WHERE pseudo_exp = 'xzak47'
    AND pseudo_dest = 'jean'
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Affichage des lignes 0 - 0 (total de 1, Traitement en 0.0000 sec)
oui j'avais corrigé mais j'ai tjr ce résultat
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Affichage des lignes 0 - 0 (total de 1, Traitement en 0.0000 sec)

Une petite IMAGE ????
ça serait bien !
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si tu compares le contenu de ta BDD ... avec la requête ... tu verras que pseudo_exp .. dans ta BDD c'est JEAN .. et non pas XZAK47 !

.... avec quel compte essayes tu de refuser l'invitation ?
Tu es bien connecté en tant que xzak47 ??

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Non je suis connecté avec jean, dans le compte xzak47, le "retirer de votre liste d'amis" ne s'affiche pas
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Quelle est ta condition pour que "retirer de votre liste d'ami" s'affiche ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
<?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();

 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 "<a href='index.php?page=new_message&pseudo=".$R['pseudo']."'>Envoyer un message</a></p>";
     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><br /><br />";

if( $accepter_demande == 1 && $verifier_expediteur == 1){
  echo "<a href='index.php?page=supprimer_amis&pseudo=". $R['pseudo']."' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a>";
}
	 
  }//fin du foreach  
 }else{
  header("Location:index.php?page=membre"); 
 }
 echo "</div>";
?>
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Le 'retirer de votre liste d'ami' doit s'afficher chez qui : le demandeur (au départ) ou celui qui accepte (ou les deux) ???
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
l'idéal serait les deux
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Non je suis connecté avec jean,

Ta fonction s'appelle : REFUSER INVITATION ... cela veut donc dire .. que c'est pour REFUSER l'invitation que quelqu'un a envoyé ...
Hors dans ta BDD .. l'invitation est envoyée par JEAN ...... à XZAK47

C'est donc UNIQUEMENT XZAK47 qui peut REFUSER l'invitation ! ... et pas l'inverse !!!!!


dans le compte xzak47, le "retirer de votre liste d'amis" ne s'affiche pas

Retirer de votre liste d'amis ... n'a aucun rapport avec REFUSER l'INVITATION !

Là .. c'est une autre fonction qu'il te faut appeler dans ce cas .... et donc... rien à voir avec le code que tu nous montres depuis le début !




Cordialement,
Jordane
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Je me suis laissé aller à confondre les deux moi aussi :)
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
ah je vois, mais comment expliquer que les comptes aient le même profil et que quand je modifie les infos de xzak47, je modifie celles de jean aussi automatiquement ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention  
 
Parce que dans un de tes codes ... ( un de ceux où tu fais un UPDATE dans une requête...) tu as du oublier de mettre un WHERE
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
voici ma function :
<?php
//la function qui va changer les informations du membre

function changer_informations_membre($email,$apropos) {
global $bdd; // déclaration globale de BDD

    $request = $bdd->prepare('UPDATE utilisateurs SET email = :email, apropos = :apropos');
    $request->execute(array(
        'email' => $email,
        'apropos' => $apropos
    ));
}
?>

0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Comme te l'as dit jordane45, tu n'as pas spécifié de WHERE dans ta requête !!!!!
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
C'est mieux comme ça ?
<?php
//la function qui va changer les informations du membre

function changer_informations_membre($email,$apropos) {
global $bdd; // déclaration globale de BDD

    $request = $bdd->prepare('UPDATE utilisateurs SET email = :email, apropos = :apropos WHERE pseudo=:pseudo_session');
    $request->execute(array(
        'email' => $email,
        'apropos' => $apropos
    ));
}
?>
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Presque sauf que tu utilise une variable qui n'est pas définie dans la fonction !
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Le "BON" code .. ne serait-ce pas un truc du genre

<?php
//la function qui va changer les informations du membre

function changer_informations_membre($email,$apropos) {
global $bdd; // déclaration globale de BDD

$user = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

if($user){
   $sql = "UPDATE utilisateurs SET email = :email, apropos = :apropos WHERE pseudo = :pseudo";    
   $params = array( ":email" => $email
                      ,":apropos" => $apropos
                      ,":pseudo"=>$user
                     );
   $request = $bdd->prepare($sql);
    $request->execute($params);
 }
}else{
  echo "<br> ERREUR : User inconnu !";
}
?>


0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai : Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\rs\functions\update.func.php on line 18
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention  
 
Désolé .. ligne 17 ..
supprime l'accolade
et ajoutes en une ligne 21
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
 <?php
//la function qui va changer les informations du membre

function changer_informations_membre($email,$apropos) {
 global $bdd; // déclaration globale de BDD

 $user = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($user){
   $sql = "UPDATE utilisateurs SET email = :email, apropos = :apropos WHERE pseudo = :pseudo";    
   $params = array( ":email" => $email
                      ,":apropos" => $apropos
                      ,":pseudo"=>$user
                     );
    $request = $bdd->prepare($sql);
    $request->execute($params);

  }else{
    echo "<br> ERREUR : User inconnu !";
  }
 }
?>
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci infiniement à vous deux :) j'attaque la dernière étape maintenant, la messagerie :)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
dernière

Vraiment ? ... Youpiiiiiiiii :-)
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Quel entrain ! ^^
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
ça ne marche toujours pas ! quand je clique sur "retirer xzak47 de votre liste d'amis" je suis bien redirigé mais je l'ai toujours en amis et le lien de retirement est toujours là ! :(
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Qu'as-tu dans ta bdd ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention  
 
http://www.noelshack.com/2015-26-1434993571-erreur.jpg
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
As-tu bien corrigé ce qu'a signalé jordane45 quant à l'inversion des paramètres dans la requete ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention  
 
je vais recréer un sujet car c'est un peu le bazar ici ^^
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Oui complètement :) Un sujet par problème !
0