Parse error: syntax error, unexpected '"', expecting ',' or ';'

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   -
Bonjour,

J'ai cette erreur : Parse error: syntax error, unexpected '"', expecting ',' or ';' in C:\wamp\www\rs\pages\profile.php on line 35

<?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"<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 />";
	 echo "<a href="" class='error' Retirer .$R['pseudo']."' de votre liste d'amis</a>
  }//fin du foreach  
 }else{
  header("Location:index.php?page=membre"); 
 }
 echo "</div>";
?>


J'ai cherché mais pas trouvé :/
Merci d'avance :)
A voir également:

12 réponses

Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Thanks :) encore un dernier soucis, pourquoi quand j'accepte la demande de l'utilisateur jean, je suis bien redirigé sur son profil mais j'ai ça qui s'affiche :

Demande en cours
Verifiez vos invitations

voici le profile.php :
<?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"<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>";
?>
1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ben sûrment qu'il y a un souci avec les valeurs du IF
if($accepter_demande == 0 && $verifier_expediteur == 0){
        echo "<div class='success'>Demande en cours<br />
      Verifiez vos invitations
      </div>";     
     }


... Quand tu es logué avec xzak47 ... quelles devraient être les (bonnes) valeurs de tes variables
$accepter_demande == ??
$verifier_expediteur = ??


Peux tu me rapeller ce que tu as comme code pour la fonction accepter_demande(); ?

PS: Merci d'utiliser le bouton "REPONDRE" .. plutôt que de mettre tes réponses en "commentaires" !
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Comme le message d'erreur l'indique ... le souci est la ligne 35
 echo "<a href="" class='error' Retirer .$R['pseudo']."' de votre liste d'amis</a>


A changer par
 echo "<a href="" class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a";

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
J'ai mtn : Parse error: syntax error, unexpected '" class='error'> Retirer "' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' in C:\wamp\www\rs\pages\profile.php on line 35

avec cette ligne
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  
 
Pb d'apostrophes dans les apostrophes ...
echo "<a href='' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a>";
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci encore ;)
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Une autre question : je voudrais que ce lien apparaisse lorsque la personne est amie avec l'autre, or le lien s'affiche meme quand je ne suis pas ami avec la personne

+ j'ai : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\rs\pages\profile.php on line 35

echo "<a href='index.php?page=supprimer_amis&pseudo='. $R['pseudo_exp'].' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a>";
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Pour cela .. il faut faire comme les autres .... le mettre dans un IF !

par exemple un truc du genre :
if( $accepter_demande == 1 && $verifier_expediteur == 1){
  echo "<a href='' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a>";
}
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 oui merci ! avant, j'ai : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\rs\pages\profile.php on line 35

echo "<a href='index.php?page=supprimer_amis&pseudo='. $R['pseudo_exp'].' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</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  
 
echo "<a href='index.php?page=supprimer_amis&pseudo=". $R['pseudo_exp']."' class='error'> Retirer ".$R['pseudo']." de votre liste d'amis</a>";
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
voilà la function, je pense que c'est dessus qu'il faut faire les modifs

<?php 
//la function qui va accepter l'invitation
function accepter_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_session && $pseudo_get){
  $sql = "UPDATE amis
         SET active=1
            ,date_confirmation=NOW()
         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 = "SELECT active
         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

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
 
Je devrais être redirigé sur la page invitations avec "Vous êtes désormais ami(e) avec jean " qui s'affiche (il s'affiche bien) pourquoi le "demande en cours..." s'affiche ??
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu devrais remettre les echo sur tes variables
$arr_infos = recuperer_info_membre_choisi($pseudo);
$accepter_demande = accepter_demande();
$demande_existe = demande_existe();
$verifier_expediteur = verifier_expediteur();


Afin de voir ce qu'elles valent et histoire qu'on essaye de comprendre ce qui ne va pas.
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Le problème viens d'ici !! :
<?php 
require_once('functions/membre.func.php');
include_once('body/header.php');
include_once('body/menu.php');
?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();

  if(count($invitations)>0){
    foreach($invitations as $R) {
    $invit_exp = $R['pseudo_exp'];
    $avatar = $R['avatar'];
    $active = $R['active'];
   
     if($active == 0){ 
        echo "<img src='avatar/$avatar' height='100' width='100' alt='avatar'></img>";
        echo "<div class='error'>";
        echo " $invit_exp a voulu vous ajouter comme ami(e)<br />";
        echo " <a href='index.php?page=accepter&pseudo=$invit_exp'>Accepter</a>|<a href='index.php?page=refuser&pseudo=$invit_exp'> Refuser</a>";
        echo "</div>";
     }else {     
      echo" <div class='success'>Vous êtes désormais ami(e) avec $invit_exp </div>";
    }//fin du IF active
  } // fin du FOREACH
 } else {
   echo "<div class='error'>Vous n'avez pas d'invitations</div>";
 }//fin du if(count
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Qu'est-ce qui te fais dire ça ?
Moi je ne pense pas que ça soit ici le problème ..... la preuve .. rien dans ce code ne contient ce que tu obtiens comme résultat

Demande en cours
Verifiez vos invitations


... contrairement au code que tu nous a montré en premier....

Et donc.. pourrais tu faire ce que je t'ai demandé et faire des ECHO de tes variable et nous en donner le résultat ??
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  
 
J'ai fais :
$pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
echo $arr_infos = recuperer_info_membre_choisi($pseudo);
echo $accepter_demande = accepter_demande();
echo $demande_existe = demande_existe();
echo $verifier_expediteur = verifier_expediteur();


et j'ai : Notice: Array to string conversion in C:\wamp\www\rs\pages\profile.php on line 10
et j'ai un Array010 qui s'affiche
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  
 
Heuuu.... ce n'est pas comme ça qu'on fait ...!!!!!
 // LE TEMPS DES TESTS //
  echo "<pre> arr_infos =<br>";
  print_r($arr_infos); // pour un ARRAY on utilise PRINT_R
  echo "</pre>";

 echo "<br> accepter_demande : ".$accepter_demande;
 echo "<br> demande_existe : ".$demande_existe;
 echo "<br> verifier_expediteur : ".$verifier_expediteur;
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 oui...
sinon :
arr_infos =
Array
(
[0] => Array
(
[id] => 19
[0] => 19
[pseudo] => jean
[1] => jean
[password] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[2] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[email] => jean@hotmail.fr
[3] => jean@hotmail.fr
[sexe] => Homme
[4] => Homme
[apropos] => salut salut
[5] => salut salut
[avatar] => defaut.jpg
[6] => defaut.jpg
)

)


accepter_demande : 0
demande_existe : 1
verifier_expediteur : 0
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  
 
accepter_demande : 0 .... alors que tu me dis avoir accepté la demande ....
Dans quel état est ACTIVE dans ta BDD ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
<?php 
//la function qui va accepter l'invitation
function accepter_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_session && $pseudo_get){
  $sql = "UPDATE amis
         SET active=1
            ,date_confirmation=NOW()
         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 = "SELECT active
         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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu peux essayer ce code et nous dire ce qu'il t'affiche ?
// LE TEMPS DES TESTS //
  echo "<pre> arr_infos =<br>";
  print_r($arr_infos); // pour un ARRAY on utilise PRINT_R
  echo "</pre>";

 echo "<br> accepter_demande : ".$accepter_demande;
 echo "<br> demande_existe : ".$demande_existe;
 echo "<br> verifier_expediteur : ".$verifier_expediteur;

  $etatDemande = checkActive($_SESSION['pseudo'],$pseudo );
 echo "<br> etatDemande : ".$etatDemande;

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Je l'ai mis comme ceci mais rien ne s'affiche :
<?php 
//la function qui va accepter l'invitation
function accepter_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_session && $pseudo_get){
  $sql = "UPDATE amis
         SET active=1
            ,date_confirmation=NOW()
         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 = "SELECT active
         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 );
  
  // LE TEMPS DES TESTS //
  echo "<pre> arr_infos =<br>";
  print_r($arr_infos); // pour un ARRAY on utilise PRINT_R
  echo "</pre>";

 echo "<br> accepter_demande : ".$accepter_demande;
 echo "<br> demande_existe : ".$demande_existe;
 echo "<br> verifier_expediteur : ".$verifier_expediteur;

  $etatDemande = checkActive($_SESSION['pseudo'],$pseudo );
 echo "<br> etatDemande : ".$etatDemande;
 
  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
 
........ ....... ......... non ! ce n'est pas là qu'il faut le mettre !
Où as tu mis du debug au debut de cette conversation ??? ... c'est là qu'il faut le remplacer pour mettre celui que je t'ai donné !
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...
j'ai :
arr_infos =
Array
(
[0] => Array
(
[id] => 19
[0] => 19
[pseudo] => jean
[1] => jean
[password] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[2] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[email] => jean@hotmail.fr
[3] => jean@hotmail.fr
[sexe] => Homme
[4] => Homme
[apropos] => salut salut
[5] => salut salut
[avatar] => defaut.jpg
[6] => defaut.jpg
)

)


accepter_demande : 0
demande_existe : 1
verifier_expediteur : 0

et : Fatal error: Call to undefined function checkActive() in C:\wamp\www\rs\pages\profile.php on line 24
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu as quoi dans ta page profile.func.php ???
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
<?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 id_invitation 
         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)?1:0;

}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
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
ok
Dans cette page, modifie le code de la fonction accepter_demande

//la function qui va verifier si le destinataire a accepté la demande
function accepter_demande(){
  global $bdd;
  $active = 0;
  //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_exp = :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) ;
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $result = $query->fetchall();
   //On récupère le contenu de la colonne 'active'
    $active = count($result)>0 ? $result[0]['active'] : 0;
 }catch(Exception $e) {
   echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
 }
 
 return $active 
}

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
J'ai : Parse error: syntax error, unexpected '}' in C:\wamp\www\rs\functions\profile.func.php on line 77
<?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;
  $active = 0;
  //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_exp = :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) ;
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $result = $query->fetchall();
   //On récupère le contenu de la colonne 'active'
    $active = count($result)>0 ? $result[0]['active'] : 0;
 }catch(Exception $e) {
   echo "<br>ERREUR ! ".$e->getMessage()."<br>";
   echo "<br>params : <br>";
   print_r($params);
 }
 
 return $active 
}

//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 id_invitation 
         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)?1:0;

}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
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Il manque un ;
return $active ;
}
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai : Fatal error: Call to undefined function checkActive() in C:\wamp\www\rs\pages\profile.php on line 24
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  
 
ah oui pardon.. tu peux retirer le debug sur cette fonction.
supprime les lignes :
 $etatDemande = checkActive($_SESSION['pseudo'],$pseudo );
 echo "<br> etatDemande : ".$etatDemande;
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
je vous en prie :)
j'ai :
arr_infos =
Array
(
[0] => Array
(
[id] => 19
[0] => 19
[pseudo] => jean
[1] => jean
[password] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[2] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[email] => jean@hotmail.fr
[3] => jean@hotmail.fr
[sexe] => Homme
[4] => Homme
[apropos] => salut salut
[5] => salut salut
[avatar] => defaut.jpg
[6] => defaut.jpg
)

)


accepter_demande : 0
demande_existe : 1
verifier_expediteur : 0
Demande en cours
Verifiez vos invitations


:'(
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu peux tester la requête
SELECT active FROM amis 
         FROM amis
          WHERE (pseudo_exp = 'jean' AND pseudo_dest = 'xzak47')
            OR  (pseudo_exp =  'xzak47' AND pseudo_dest = 'jean')

0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM amis
WHERE (pseudo_exp = 'jean' AND pseudo_dest = 'xzak47')
' at line 2
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
j'ai corrigé sur le code
SELECT active 
         FROM amis
          WHERE (pseudo_exp = 'jean' AND pseudo_dest = 'xzak47')
            OR  (pseudo_exp =  'xzak47' AND pseudo_dest = 'jean') 
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
visiblement ça marche, j'ai :
arr_infos =
Array
(
[0] => Array
(
[id] => 19
[0] => 19
[pseudo] => jean
[1] => jean
[password] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[2] => df70f9b975b42116ee6c0231a7e6ead0bbb283aa
[email] => jean@hotmail.fr
[3] => jean@hotmail.fr
[sexe] => Homme
[4] => Homme
[apropos] => salut salut
[5] => salut salut
[avatar] => defaut.jpg
[6] => defaut.jpg
)

)


accepter_demande : 1
demande_existe : 1
verifier_expediteur : 0
0