Parse error: syntax error, unexpected '$bdd' (T_VARIABLE),
Résolu/Fermé
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
-
7 juin 2015 à 14:45
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 8 juin 2015 à 21:11
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 8 juin 2015 à 21:11
A voir également:
- Unexpected variable php
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 0x80070643 - Accueil - Windows
- Cpu over temperature error - Forum Matériel & Système
- Fan error lenovo - Forum Refroidissement
- Error 10 pioneer ✓ - Forum Autoradio
4 réponses
NHenry
Messages postés
15190
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 février 2025
353
7 juin 2015 à 14:51
7 juin 2015 à 14:51
{ oubliée.
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
Modifié par jordane45 le 8/06/2015 à 20:34
Modifié par jordane45 le 8/06/2015 à 20:34
Bonsoir, je vais me méler un peu de cette discussion...
Déjà ... NE REMETS PAS la connexion à ta BDD dans ton code !
Tu as un fichier de connexion.. tu l'importe via un REQUIRE ça suffira ! (comme on l'a fait dans tes autres codes !!!!)
Ton souci de variable BDD non déclarée... vient du fait qu'il faut que tu penses à mettre un global $bdd; dans chacune de tes fonctions !
Penses aussi à nous montrer COMMENT tu appelles la fonction dans ton code .... quels arguments tu lui passes (car il en faut... il faut le pseudo.. ET l'avatar .... )*
Cordialement,
Jordane
Déjà ... NE REMETS PAS la connexion à ta BDD dans ton code !
Tu as un fichier de connexion.. tu l'importe via un REQUIRE ça suffira ! (comme on l'a fait dans tes autres codes !!!!)
Ton souci de variable BDD non déclarée... vient du fait qu'il faut que tu penses à mettre un global $bdd; dans chacune de tes fonctions !
<?php //la function qui va récuperer le pseudo et l'avatar du membre sauf de celui connecté function recuperer_pseudo_avatar($pseudo,$avatar="defaut.jpg") { global $bdd; // déclaration globale de BDD $req = $bdd->query('SELECT COUNT(*) FROM utilisateurs WHERE pseudo="'.$pseudo.'" AND avatar="'.$avatar.'"'); $etat = $req->fetchColumn(); // ceci ne fonctionnera jamais ! /*if($etat == 0){ return 0; }else{ return 1; } */ // commence par faire un PRINT de ta variable $etat pour savoir ce qu'elle contient print_r($etat); // Ensuite si ton but est de savoir si la requête a retourné quelquechose tu peux faire: return count($etat)>0 ? 1 : 0 ; } ?>
Penses aussi à nous montrer COMMENT tu appelles la fonction dans ton code .... quels arguments tu lui passes (car il en faut... il faut le pseudo.. ET l'avatar .... )*
Cordialement,
Jordane
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
8 juin 2015 à 20:39
8 juin 2015 à 20:39
(script liste_membre.php juste au dessus)
J'ai entré ceci :
et j'obtiens :
Warning: Missing argument 1 for recuperer_pseudo_avatar(), called in C:\wamp\www\rs\pages\liste_membre.php on line 8 and defined in C:\wamp\www\rs\functions\liste_membre.func.php on line 3
Notice: Undefined variable: pseudo in C:\wamp\www\rs\functions\liste_membre.func.php on line 6
Warning: Invalid argument supplied for foreach() in C:\wamp\www\rs\pages\liste_membre.php on line 10
J'ai entré ceci :
<?php //la function qui va récuperer le pseudo et l'avatar du membre sauf de celui connecté function recuperer_pseudo_avatar($pseudo,$avatar="defaut.jpg") { global $bdd; // déclaration globale de BDD $req = $bdd->query('SELECT COUNT(*) FROM utilisateurs WHERE pseudo="'.$pseudo.'" AND avatar="'.$avatar.'"'); $etat = $req->fetchColumn(); // commence par faire un PRINT de ta variable $etat pour savoir ce qu'elle contient print_r($etat); // Ensuite si ton but est de savoir si la requête a retourné quelquechose tu peux faire: return count($etat)>0 ? 1 : 0 ; } ?>
et j'obtiens :
Warning: Missing argument 1 for recuperer_pseudo_avatar(), called in C:\wamp\www\rs\pages\liste_membre.php on line 8 and defined in C:\wamp\www\rs\functions\liste_membre.func.php on line 3
Notice: Undefined variable: pseudo in C:\wamp\www\rs\functions\liste_membre.func.php on line 6
Warning: Invalid argument supplied for foreach() in C:\wamp\www\rs\pages\liste_membre.php on line 10
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
8 juin 2015 à 20:42
8 juin 2015 à 20:42
Tu veux récupérer l'avatar de tous les users sauf de celui qui est connecté ?
Dans ce cas... ta requête n'est pas bonne !
Change le code ainsi :
Et donc là .. dans ta page liste_membre.php
PS: Tu remarqueras que j'ai tout fait dans le PHP .. pour éviter d'ouvrir/fermer des balises php un peu partout dans le code !
Dans ce cas... ta requête n'est pas bonne !
Change le code ainsi :
//la function qui va récuperer le pseudo et l'avatar du membre sauf de celui connecté function recuperer_pseudo_avatar() { global $bdd; // déclaration globale de BDD $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo'] : NULL; $strWhere = $pseudo ? " WHERE pseudo !='$pseudo' " : '' ; $sql = "SELECT pseudo, avatar FROM utilisateurs $strWhere"; $req = $bdd->query($sql); return $req->fetchColumn(); }
Et donc là .. dans ta page liste_membre.php
<?php include('functions/membre.func.php'); include('body/header.php'); include('body/menu.php'); ?> <h3>Liste des membres</h3> <?php $pseudos_avatars = recuperer_pseudo_avatar(); foreach($pseudos_avatars as $pseudo_avatar) { echo "<p><a href=''>".$pseudo_avatar['pseudo']."</a></p> <img src='avatar/".$pseudo_avatar['avatar']."' height='100' width='100' alt='avatar'>"; }
PS: Tu remarqueras que j'ai tout fait dans le PHP .. pour éviter d'ouvrir/fermer des balises php un peu partout dans le code !
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
8 juin 2015 à 20:44
8 juin 2015 à 20:44
Merci! j'obtiens : Fatal error: Call to undefined function recuperer_pseudo_avatar() in C:\wamp\www\rs\pages\liste_membre.php on line 8
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
8 juin 2015 à 20:46
8 juin 2015 à 20:46
Tu peux remplacer l'inclde par un REQUIRE_ONCE de la ligne :
==>>
include('functions/membre.func.php');
==>>
require_once('functions/membre.func.php');
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
8 juin 2015 à 20:51
8 juin 2015 à 20:51
malgré ceci j'ai : Fatal error: Call to undefined function recuperer_pseudo_avatar() in C:\wamp\www\rs\pages\liste_membre.php on line 8
Call Stack
Call Stack
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
8 juin 2015 à 20:55
8 juin 2015 à 20:55
tu peux nous poster de nouveau le code de ta page functions/membre.func.php ?
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
8 juin 2015 à 20:59
8 juin 2015 à 20:59
<? //la function qui va récuperer le pseudo et l'avatar du membre sauf de celui connecté function recuperer_pseudo_avatar() { global $bdd; // déclaration globale de BDD $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo'] : NULL; $strWhere = $pseudo ? " WHERE pseudo !='$pseudo' " : '' ; $sql = "SELECT pseudo, avatar FROM utilisateurs $strWhere"; $req = $bdd->query($sql); return $req->fetchColumn(); }
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
8 juin 2015 à 21:08
8 juin 2015 à 21:08
Désolé.. pas besoin de mettre de fecth avec query ...
Mais de toutes façons.. il vaut mieux passer par les requête préparées :
Et pour tester,
Mais de toutes façons.. il vaut mieux passer par les requête préparées :
function recuperer_pseudo_avatar() { global $bdd; // déclaration globale de BDD $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo'] : NULL; $strWhere = $pseudo ? " WHERE pseudo !='$pseudo' " : '' ; $sql = "SELECT pseudo, avatar FROM utilisateurs $strWhere"; $req = $bdd->prepare($sql); $req->execute(); $resultat = $req->fetchall(); return $resultat; }
Et pour tester,
<?php require_once('functions/membre.func.php'); include('body/header.php'); include('body/menu.php'); ?> <h3>Liste des membres</h3> <?php $pseudos_avatars = recuperer_pseudo_avatar(); // le temps des tests : print_r($pseudos_avatars); foreach($pseudos_avatars as $pseudo_avatar) { echo "<p><a href=''>".$pseudo_avatar['pseudo']."</a></p> <img src='avatar/".$pseudo_avatar['avatar']."' height='100' width='100' alt='avatar'>"; }
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
8 juin 2015 à 21:11
8 juin 2015 à 21:11
j'obtiens : Array ( [0] => Array ( [pseudo] => jean [0] => jean [avatar] => defaut.jpg [1] => defaut.jpg ) )
jean
c'est parfait ! Merci encore, que Dieu vous garde !
jean
c'est parfait ! Merci encore, que Dieu vous garde !
7 juin 2015 à 14:54
Notice: Undefined variable: pseudo in C:\wamp\www\rs\functions\liste_membre.func.php on line 7
Notice: Undefined variable: avatar in C:\wamp\www\rs\functions\liste_membre.func.php on line 7
Warning: Invalid argument supplied for foreach() in C:\wamp\www\rs\pages\liste_membre.php on line 10
7 juin 2015 à 15:04
pseudo!='{$_SESSION['pseudo']}'
Après :
pseudo="'.$pseudo.'"
Si tu veux utiliser une variable globale dans une fonction, tu dois la redéclarer comme Globale (oui, c'est pas toujours évident/logique PHP).
7 juin 2015 à 15:12
7 juin 2015 à 16:45
Si tu rencontre un soucis, décris-le. le problème de variable a déjà été décrit dans mon précédent message.
7 juin 2015 à 21:38
Ces variables, elles sont issues de la session active (si le membre A est connecté, ce sont les infos d membre A qui s'affichent) ?