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

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 20 juin 2015 à 18:47
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 20 juin 2015 à 21:17
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 19:25
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 19:31
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 18:57
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 19:02
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
20 juin 2015 à 19:07
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 19:08
Merci encore ;)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par Zakarya93 le 20/06/2015 à 19:16
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 19:15
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024
Modifié par Zakarya93 le 20/06/2015 à 19:17
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
20 juin 2015 à 19:18
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 19:34
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 19:51
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 19:54
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 19:57
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 20:00
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024
20 juin 2015 à 20:03
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
Modifié par jordane45 le 20/06/2015 à 20:06
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024
20 juin 2015 à 20:09
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
20 juin 2015 à 20:09
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 20:18
<?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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 20:21
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 20:25
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 20:29
........ ....... ......... 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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024
20 juin 2015 à 20:32
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 20:38
Tu as quoi dans ta page profile.func.php ???
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 20:41
<?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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
Modifié par jordane45 le 20/06/2015 à 20:54
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 20:57
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 20:59
Il manque un ;
return $active ;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 21:00
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
20 juin 2015 à 21:03
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 21:06
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 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
20 juin 2015 à 21:09
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 21:11
#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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 21:16
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 lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
20 juin 2015 à 21:17
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