Problème de code

Résolu/Fermé
Kotestg Messages postés 15 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 21 août 2018 - Modifié le 2 juil. 2018 à 08:47
Kotestg Messages postés 15 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 21 août 2018 - 4 juil. 2018 à 01:08
Aidez-moi s'il vous je suis coincé sur la construction de ma page membre

Voici le code de mon fichier (membre.func.php)
<?php
//la function qui va recuperer les infos de l'utilisateur connecté
function infos_membre_connecte(){
 $infos=array();
 $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
if($pseudo){
 $req = $bdd->query("SELECT * FROM utilisateurs WHERE pseudo = '$pseudo'");

 while ($data = $req->rowCount()){
  $infos [] = $data;
 }
}else{
 $infos[] = "Erreur : Variable de Session Utilisateur introuvable";
}
return $infos;
}

?>


Voici le code de mon fichier (membre.php)
<div class='header'>
     <?php
  $infos = infos_membre_connecte();

    foreach($infos as $info)

  {
     echo "Bienvenue".$info['pseudo'];
     }
  
 ?>
</div>


EDIT : Ajout des balises de code

Et voici l'erreur que cela m'affiche:

Remarque: Variable indéfinie: bdd dans C: \ wamp64 \ www \ rs \ functions \ membre.func.php à la ligne 7

et

Erreur fatale: Appel à une fonction membre query () sur null dans C: \ wamp64 \ www \ rs \ functions \ membre.func.php à la ligne 7


Alors que faire svp
A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 juil. 2018 à 07:49
function infos_membre_connecte(){ 
  global $bdd; // ajout  ici
  $infos=array(); 
  $pseudo = isset($_SESSION



1
Kotestg Messages postés 15 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 21 août 2018
2 juil. 2018 à 08:08
Après avoir inséré global $bdd; voici la nouvelle erreur affichée:

Remarque: La conversion de tableau en chaîne dans C: \ wamp64 \ www \ rs \ functions \ membre.func.php à la ligne 9
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 juil. 2018 à 09:00
$req = $bdd->query("SELECT * FROM utilisateurs WHERE pseudo = '$pseudo'");

 while ($data = $req->rowCount()){
  $infos [] = $data;
 }

Est à remplacer par

$sql = "SELECT * FROM utilisateurs WHERE pseudo = :pseudo";
$datas = array(":pseudo"=>$pseudo);
//exécution de la requête
try{
  $prep = $bdd->prepare($sql);
  $prep->execute($datas);
}catch(Exception $e){
  echo "Erreur " . $e->getMessage();
}

//on stocke le resultat dans un array:
$infos = $prep->fetchAll();




Pour l'écriture de ton code Je t'invite fortement à lire et à appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et ça
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
0
Kotestg Messages postés 15 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 21 août 2018
2 juil. 2018 à 10:41
ok
0
Kotestg Messages postés 15 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 21 août 2018
2 juil. 2018 à 10:42
Mais cela ne marche pas toujours
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 juil. 2018 à 12:36
Si tu as respecté les consignes qui se trouvent dans les liens que je t'ai donné... tu devrais avoir un message d'erreur..... quel est il ??
Et ensuite... montre nous ton code modifié !
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 juil. 2018 à 07:16
Bonjour
$bdd n'est pas initialisé dans ton code... d'où vient cette variable ? Ttu requiree un fichier de connexion ?
Montre ton code complet...


0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 juil. 2018 à 07:17
0
Kotestg Messages postés 15 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 21 août 2018
Modifié le 8 juil. 2018 à 16:38
Voici mon fichier de connexion connect.php

<?php
session_start();

//connexion à la base de données

try
{
 // On se connecte à MySQL
 $bdd = new PDO('mysql:host=localhost;dbname=nonvitcha;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

}

catch(Exception $e)
{
 // En cas d'erreur, on affiche un message et on arrête tout

        die('Erreur : '.$e->getMessage());
}
?>
0