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 -
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é :
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 ;)
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:
- Lien "retirer de votre liste amis" a disparu et confusion profil
- Liste déroulante excel - Guide
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Qui a consulté mon profil facebook - Guide
- Qui regarde mon profil instagram - Guide
19 réponses
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)
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.
http://www.noelshack.com/2015-25-1434918090-erreur.jpg
le code en question :
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; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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; }
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; }
je l'ai remis :
j'ai : http://www.noelshack.com/2015-26-1434929726-erreur2.jpg
<?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
De toutes façons .. ici .. tu ne devrais pas en avoir besoin !
remplaces tout ton code par :
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; }
Et ça :
Cordialement,
Jordane
<?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
.... 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é !!!!
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é !!!!
Testes la requête en direct dans ta BDD :
DELETE FROM amis WHERE pseudo_exp = ' xzak47' AND pseudo_dest = 'jean'
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 ??
.... avec quel compte essayes tu de refuser l'invitation ?
Tu es bien connecté en tant que xzak47 ??
<?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>"; ?>
Le 'retirer de votre liste d'ami' doit s'afficher chez qui : le demandeur (au départ) ou celui qui accepte (ou les deux) ???
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
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 )); } ?>
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 )); } ?>
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 !"; } ?>
<?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 !"; } } ?>
qui s'affiche :(