Parse error: syntax error, unexpected '' et functions accepter/r
RésoluZakarya93 Messages postés 1026 Statut Membre -
1/ J'ai cette erreur que je n'arrive pas à décrypter : 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\invitations.php on line 17
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();
if(count($invitations)>0){
foreach($invitations as $invitation) {
if($invitation['active'] == 0)
{
echo "<img src='avatar/".$invitation['avatar']."'height='100' width='100' alt='avatar'>";
echo "<div class='error'>
".$invitation['pseudo_exp']." a voulu vous ajouter comme ami(e)<br />";
echo " <a href='index.php?page=accepter&pseudo= echo $invitation['pseudo_exp']; '>Accepter |</a><a href='index.php?page=refuser&pseudo= echo $invitation['pseudo_exp']; '> Refuser</a>";
echo "</div>";
}
}else{
<div class='success'>Vous êtes désormais ami(e) avec echo $invitation['pseudo_exp']; </div>
}
echo "<div class='error'>Vous n'avez pas d'invitations</div>";
}
?>
2/ sachant que le code mysl_ est :
<?php
// la fonction qui v accepter l'invitation
function accepter_invitation()
{
mysql_query("
UPDATE amis SET active=1, date_confirmation=NOW();() WHERE pseudo_exp'{$_GET['pseudo']}'
AND pseudo_dest='{$SESSION['pseudo']}'
");
}
?>
c'est bon si je mets :
<?php
//la function qui va accepter l'invitation
function accepter_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;
$result=0;
if($pseudo_exp && $pseudo_dest){
$sql = "UPDATE
FROM amis
SET active=1, date_confirmation=NOW
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();
}
// le return
return $result;
}
3/ et pour le "refuser invitation" que faudrait il simplement que je modifie ?
Merci d'avance ! :)
Bonne nuit
- Parse error: syntax error, unexpected '' et functions accepter/r
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Pointage antenne ✓ - Forum TNT / Satellite / Réception
- Fan error lenovo - Forum PC portable
- A disk read error occurred ✓ - Forum Windows
- Error 1962 ✓ - Forum PC fixe
19 réponses
Une erreur d’analyse PHP survient lors du traitement des invitations, liée à des balises et variables mal imbriquées qui déclenchent un parse error et des liens d’action mal construits. Les réponses recommandent de corriger les échos HTML/PHP en utilisant une syntaxe cohérente et des guillemets appropriés, et d’éviter les injections en passant les identifiants via des paramètres préparés. D'autres suggestions abordent la réécriture de la fonction accepter_invitation avec une gestion correcte des variables, des requêtes SQL valides et l'usage de global $bdd, et le test étape par étape avec print_r ou debug. En dernier lieu, certains conseillent d’adopter une redirection après accepted_invitation et de tester les requêtes avec des paramètres sécurisés, afin d’éviter des états d’invitations incohérents.
(ça fait déjà plusieurs fois que tu as ce même genre de pb..... tu pourrais réussir à corriger par toi même à force... non ?)
echo " <a href='index.php?page=accepter&pseudo= echo $invitation['pseudo_exp']; '>Accepter |</a><a href='index.php?page=refuser&pseudo= echo $invitation['pseudo_exp']; '> Refuser</a>";
A changer par :
echo " <a href='index.php?page=accepter&pseudo=".$invitation['pseudo_exp']."'>Accepter |</a><a href='index.php?page=refuser&pseudo=".$invitation['pseudo_exp']."'> Refuser</a>";
<?php
//la function qui va accepter l'invitation
function accepter_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;
if($pseudo_exp && $pseudo_dest){
$sql = "UPDATE amis
SET active=1
, date_confirmation=NOW
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);
}
}
NB :
Tu ne fais un FETCHALL .. que sur une requête SELECT
Et tu fais un RETURN dans ta fonction... si tu dois retourner quelque chose.. hors ici... tu fais un UPDATE... tu ne retourne rien.
3/ et pour le "refuser invitation" que faudrait il simplement que je modifie ?
Je pense que dans le cas d'un refus... tu supprime la demande et donc.. il suffirait juste de changer La requête...
$sql = "DELETE FROM amis
WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
trève de bavardages, j'ai ceci : Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\rs\pages\invitations.php on line 20
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();
if(count($invitations)>0){
foreach($invitations as $invitation) {
if($invitation['active'] == 0)
{
echo "<img src='avatar/".$invitation['avatar']."'height='100' width='100' alt='avatar'>";
echo "<div class='error'>
".$invitation['pseudo_exp']." a voulu vous ajouter comme ami(e)<br />";
echo " <a href='index.php?page=accepter&pseudo=".$invitation['pseudo_exp']."'>Accepter |</a><a href='index.php?page=refuser&pseudo=".$invitation['pseudo_exp']."'> Refuser</a>";
echo "</div>";
}
}else{
echo " <div class='success'>Vous êtes désormais ami(e) avec ".$invitation['pseudo_exp']." </div>";
}
echo "<div class='error'>Vous n'avez pas d'invitations</div>";
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();
if(count($invitations)>0){
foreach($invitations as $invitation) {
if($invitation['active'] == 0)
{
echo "<img src='avatar/".$invitation['avatar']."'height='100' width='100' alt='avatar'>";
echo "<div class='error'>
".$invitation['pseudo_exp']." a voulu vous ajouter comme ami(e)<br />";
echo " <a href='index.php?page=accepter&pseudo=".$invitation['pseudo_exp']."'>Accepter |</a><a href='index.php?page=refuser&pseudo=".$invitation['pseudo_exp']."'> Refuser</a>";
echo "</div>";
}
}
echo" <div class='success'>Vous êtes désormais ami(e) avec ".$invitation['pseudo_exp']." </div>";
}
else{
echo "<div class='error'>Vous n'avez pas d'invitations</div>";
}
?>
Mais le problème c'est que j'ai :
jean a voulu vous ajouter comme ami(e)
Accepter | Refuser
Vous êtes désormais ami(e) avec jean
qui s'affiche c'est bizzare :(
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();
if(count($invitations)>0)
{
foreach($invitations as $invitation)
{
if($invitation['active'] == 0)
{
echo "<img src='avatar/".$invitation['avatar']."'height='100' width='100' alt='avatar'>";
echo "<div class='error'>
".$invitation['pseudo_exp']." a voulu vous ajouter comme ami(e)<br />";
echo " <a href='index.php?page=accepter&pseudo=".$invitation['pseudo_exp']."'>Accepter |</a><a href='index.php?page=refuser&pseudo=".$invitation['pseudo_exp']."'> Refuser</a>";
echo "</div>";
}
}
}
else{
echo " <div class='success'>Vous êtes désormais ami(e) avec ".$invitation['pseudo_exp']." </div>";
}
echo "<div class='error'>Vous n'avez pas d'invitations</div>";
}
?>
Ce n'était pas une accolade en trop, mais une en moins ton souci !
Si invitation n'est pas vide, on parcours le tableau en affichant les demande actives et les demandes acceptées. (if...else)
Sinon, on affiche "pas d'invitations".
Comme il y a deux "sinon", cela implique deux else et tu n'en a qu'un.
Je te laisse chercher un peu comment résoudre l'erreur... (si besoin, je te donnerai la solution)
<?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;
if($pseudo_exp && $pseudo_dest){
$sql = $sql = "DELETE FROM amis
WHERE (pseudo_exp = :pseudo_exp 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);
$result=1;
}
else
{
$result=0;
}
// le return :
// si result == 0 on retourne false .. sinon true :
return $result == 0 ? 0 : 1 ;
}
?>
c'est pourtant ce qui est déjà marqué non ?
bref:
testes ceci :
//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_exp && $pseudo_dest){
$sql = $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_exp' => $pseudo_exp , ':pseudo_dest' => $pseudo_dest);
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}
return $return;
}
//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_exp && $pseudo_dest){
$sql = $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_exp' => $pseudo_exp , ':pseudo_dest' => $pseudo_dest);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
Cordialement,
Jordane
<?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();
//--------------------------------//
//le temps des tests :
//--------------------------------//
echo "<br> Invitations :<br>";
print_r($invitations);
//--------------------------------//
if(count($invitations)>0){
foreach($invitations as $R) {
$invit_exp = $R['pseudo_exp'];
$avatar = $R['avatar'];
if($R['active'] == 0){
echo "<img src='avatar/$avatar' height='100' width='100' alt='avatar'></img>";
echo "<div class='error'>
".$invitation['pseudo_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>";
}
} else {
echo "<div class='error'>Vous n'avez pas d'invitations</div>";
}
ça devrait être mieux :
<?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
Cordialement,
Jordane
tu es dans le cas :
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>";
Ce n'est pas bon ??
Array ( [0] => Array ( [pseudo_exp] => jean [0] => jean [date_invitation] => 2015-06-18 23:01:52 [1] => 2015-06-18 23:01:52 [active] => 0 [2] => 0 [avatar] => defaut.jpg [3] => defaut.jpg ) )
code function :
<?php
//la function qui va accepter l'invitation
function accepter_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;
if($pseudo_exp && $pseudo_dest){
$sql = "UPDATE amis
SET active=1
, date_confirmation=NOW
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);
}
}
Maintenant... change le code de ta page accepter comme ceci :
<?php
$accepter = accepter_invitation();
if($accepter){
echo " Invitation acceptée !";
}else{
echo "Erreur !";
}
//header("Location:index.php?page=profile&pseudo=".$_GET['pseudo']);
?>
Puis vas dans ta BDD ... et regardes comment est le champ ACTIVE.
Si il est passé à 1 ... remets le à 0 ...
puis Modifie le code de ta fonction ainsi.
<?php
//la function qui va accepter l'invitation
function accepter_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_exp && $pseudo_dest){
$sql = "UPDATE amis
SET active=1
,date_confirmation=NOW
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);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
et retestes.
et relancer ta page pour voir ce que ça te donne ?
<?php
//la function qui va accepter l'invitation
function accepter_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_exp && $pseudo_dest){
$sql = "UPDATE amis
SET active=1
,date_confirmation=NOW
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);
// le temps des tests
echo "<br>params : <br>";
print_r($params);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
car là ... celui qui doit accepter la demande... est celui qui l'a reçu .... et donc ... celui qui consulte la page.
Donc : Pseudo_dest c'est SESSION['pseudo']
et pseudo_exp => $_GET['pseudo']
WHERE pseudo_exp = :session_pseudo
AND pseudo_dest = :get_pseudo
A modifier par :
WHERE pseudo_exp = :get_pseudo
AND pseudo_dest = :session_pseudo
<?php
//la function qui va accepter l'invitation
function accepter_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_exp && $pseudo_dest){
$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_exp , ':get_pseudo' => $pseudo_dest);
// le temps des tests
echo "<br>params : <br>";
print_r($params);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
UPDATE amis
SET active=1
,date_confirmation=NOW()
WHERE pseudo_exp = 'jean'
AND pseudo_dest = 'xzak47'
Et qu'ensuite tu vas regarder dans ta BDD ... active est toujours à 0 ?
remet le active à 0.
Maintenant on va retester avec la page PHP.
<?php
//la function qui va accepter l'invitation
function accepter_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_exp && $pseudo_dest){
$sql = "UPDATE amis
SET active=1
,date_confirmation=NOW()
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);
// le temps des tests
echo "<br> Requete : <br>".$sql;
echo "<br>params : <br>";
print_r($params);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
<?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_exp && $pseudo_dest){
$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 );
// le temps des tests
echo "<br> Requete : <br>".$sql;
echo "Je suis connecté en tant que : ".$pseudo_session;
echo " Je veux refuser l'invitation de :".$pseudo_get;
echo "<br>params : <br>";
print_r($params);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
if($pseudo_session && $pseudo_get){
J'ai :
Requete :
UPDATE amis SET active=1 ,date_confirmation=NOW() WHERE pseudo_exp = :get_pseudo AND pseudo_dest = :session_pseudo Je suis connecté en tant que : xzak47 Je veux refuser l'invitation de :jean
params :
Array ( [:session_pseudo] => xzak47 [:get_pseudo] => jean ) Invitation acceptée !
Active = 0 ... :'(
//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 );
// le temps des tests
echo "<br> Requete : <br>".$sql;
echo "<br>Je suis connecté en tant que : ".$pseudo_session;
echo "<br> Je veux refuser l'invitation de :".$pseudo_get;
echo "<br>params : <br>";
print_r($params);
$etatDemande_AVANT = checkActive($pseudo_session,$pseudo_get );
echo " <br> La demande est pour l'instant :".$etatDemande_AVANT;
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>".$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>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
return $return;
}
Cordialement,
Jordane
Array ( [0] => Array ( [pseudo_exp] => jean [0] => jean [date_invitation] => 2015-06-18 23:01:52 [1] => 2015-06-18 23:01:52 [active] => 1 [2] => 1 [avatar] => defaut.jpg [3] => defaut.jpg ) )
<?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 );
/**
* 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>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
return $return;
}
Tu ne parviens pas à faire juste un copier coller sans sans faire d'erreurs ???
Tu as enlever trop de lignes !!!!!!
Remplaces TOUT par ça :
//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;
}
Penses aussi à modifier ta page ACCEPTER.PHP
<?php
$etat = accepter_invitation();
if($etat>0){
header("Location:index.php?page=profile&pseudo=".$_GET['pseudo']);
}else{
echo "<br> Une erreur s'est produite ! <br> ACTIVE = ".$etat;
}
?>
avant de passer à refuser.func.php, j'aurais une question :
comment enlever ceci sur profile.php :
pseudo_exp : jean
pseudo_dest : xzak47
resultat de la requete:
Array ( )
Result :0
<?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>";
}//fin du foreach
}else{
header("Location:index.php?page=membre");
}
echo "</div>";
?>
par exemple ..
Ne pas retirer ce qui se trouve dans un CATCH comme celui-ci
}catch(Exception $e) {
echo "<br>ERREUR ! ".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
...ça .. il faut le laisser !
<?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_session && $pseudo_get){
$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(':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;
}
N'oublies pas d'y mettre :
- Le code de la page refuser.php
- Le code de ta page refuser.func.php
}else{ <div class='success'>Vous êtes désormais ami(e) avec echo $invitation['pseudo_exp']; </div> }A remplacer par
}else{ echo" <div class='success'>Vous êtes désormais ami(e) avec ".$invitation['pseudo_exp']." </div>"; }qu'en est il pour le 2/ & 3/ svp?