Problèmes de connexion sur mon site (member.func.php)

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 2 juin 2015 à 17:32
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 3 juin 2015 à 15:33
Bonjour,

Je me suis attaqué à l'interface de mon site, pour cela j'ai commencé à créer membre.php et membre.func.php or j'ai rencontré 2 erreurs :

Notice: Undefined variable: bdd in C:\wamp\www\rs\functions\membre.func.php on line 8

et

Fatal error: Call to a member function query() on a non-object in C:\wamp\www\rs\functions\membre.func.php on line 8

Membre.func.php :
<?php

//la function qui va recuperer les infos de l'utilisateur connecté
function infos_membre_connecte()
{
$infos=array();
$pseudo = $_SESSION['pseudo'];
$res = $db->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");


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

}
	return $infos;
}


membre.php :

<div class='header'>
<?php
$infos = infos_membre_connecte();

foreach($infos as $info)
{	
   echo "Bienvenue ".$info['pseudo'];	
}
?>
</div>


Merci d'avance svp !!!!
A voir également:

11 réponses

jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 17:37
Tu as oublié l'include de ton fichier de connexion à la bdd
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 2/06/2015 à 17:38
Cela va résoudre les 2 erreurs?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 17:44
ça ne marche pas
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 17:54
Montres ton code modifié.
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 17:56
<?php
include(functions/connect.php)
//la function qui va recuperer les infos de l'utilisateur connecté
function infos_membre_connecte()
{
$infos=array();
$pseudo = $_SESSION['pseudo'];
$res = $db->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");


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

}
	return $infos;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 18:02
Pardon :

<div class='header'>
<?php
include(functions/membre.func.php)
$infos = infos_membre_connecte();

foreach($infos as $info)
{	
   echo "Bienvenue ".$info['pseudo'];	
}
?>
</div>


maintenant j'ai ; Parse error: syntax error, unexpected '$infos' (T_VARIABLE) in C:\wamp\www\rs\pages\membre.php on line 4
Call Stack
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 18:51
Dans un include. ..il faut des QUOTES
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 18:55
Tapé trop vite :/
include('functions/membre.func.php');


ce qui donne : Fatal error: Cannot redeclare infos_membre_connecte() (previously declared in C:\wamp\www\rs\functions\membre.func.php:3) in C:\wamp\www\rs\functions\membre.func.php on line 16

register.func.php :
<?php
//la function qui va recuperer les infos de l'utilisateur connecté
function infos_membre_connecte()
{
$infos=array();
$pseudo = $_SESSION['pseudo'];
$res = $db->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");


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

}
	return $infos;
}


que faire ?
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
Modifié par jordane45 le 2/06/2015 à 20:51


ce qui donne : Fatal error: Cannot redeclare infos_membre_connecte() (previously declared in C:\wamp\www\rs\functions\membre.func.php:3) in C:\wamp\www\rs\functions\membre.func.php on line 16

Dans ta page principape (index.php je crois me souvenir) .. tu as déjà une fonction qui fait AUTOMATIQUEMENT l'include des fichiers qui se trouvent dans le répertoire functions...
(du moins.. le fichier FUNC correspondant à la page que tu affiches )

Donc .. IL NE FAUT PAS EN REFAIRE UN INCLUDE !!!

Ensuite... je ne t'ai jamais demandé de le faire ... moi je je t'ai seulement dis : Il manque ton fichier de connexion à ta BDD !

ce qui était presque bon dans le code donné dans ta première réponse
Le mieux étant de remplacer, pour les fichiers OBLIGATOIRES (comme celui pour se connecter à la BDD), d'utiliser REQUIRE à la place de INCLUDE ... et encore mieux .. REQUIRE_ONCE .. qui n'en fera l'include QUE si il n'est pas déjà fait ailleurs dans ton code...

(sans oublier les QUOTES autour du fichier à inclure bien entendu)

Ce qui donne :
<?php
// FICHIER membre.func.php

// Connexion à la BDD
require_once('functions/connect.php');

/**
* 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){
 $res = $db->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");

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


Cordialement,
Jordane
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 19:05
Je ne sais comment vous remercier! merci d'être autant actif !

Les modifications maintenant appliqués, je reçois : Parse error: syntax error, unexpected 'function' (T_FUNCTION) in C:\wamp\www\rs\functions\membre.func.php on line 10
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 19:08
PS: Attention avec $res->rowCount() ... .. rowCount ne garantit pas de bien fonctionner avec tous les serveurs de base de données...
Voir le manuel : https://www.php.net/manual/fr/pdostatement.rowcount.php


L'idéal serait juste de faire un FETCHALL
https://www.php.net/manual/en/pdostatement.fetchall.php

=> ce qui stocke directement le résultat de la requête dans un ARRAY
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 19:11
Cela donnerai quoi ? comment régler l'erreur à propos de function ? (com du dessus)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 19:18
Je m'excuse de vous demander de me macher le travail , je me sens pas capable de coder cela et j'aimerai attaquer l'interface au plus vite ^^
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 20:02

Cela donnerai quoi ? comment régler l'erreur à propos de function ? (com du dessus)

Je t'ai donné la réponse !

La seule chose à faire est : NE PAS REMETTRE (dans ton fichier membre.php) L'INCLUDE DE TON FICHIER functions/membre.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
2 juin 2015 à 20:05
Oui mais j'ai quand même cette erreur : Parse error: syntax error, unexpected 'function' (T_FUNCTION) in C:\wamp\www\rs\functions\membre.func.php on line 10
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
2 juin 2015 à 20:39
Tu nous montres le code actuel de ton fichier membre.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
2 juin 2015 à 20:46
c'est celui que vous m'avez donné
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 21:04
Membre.php
<div class='header'>
<?php
$infos = infos_membre_connecte();

foreach($infos as $info)
{	
   echo "Bienvenue ".$info['pseudo'];	
}
?>
</div>


membre.func.php :

<?php
// FICHIER membre.func.php

// Connexion à la BDD
require_once('functions/connect.php')

/**
* 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){
 $res = $db->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");

 while ($data = $res->rowCount()){
  $infos [] = $data;
 }
}else{
 $infos[] = "Erreur : Variable de Session Utilisateur introuvable";
}
return $infos;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 21:11
J'ai oublié les quotes oui, et ça me donne : Notice: Undefined variable: db in C:\wamp\www\rs\functions\membre.func.php on line 14

et

Fatal error: Call to a member function query() on a non-object in C:\wamp\www\rs\functions\membre.func.php on line 14
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 22:18
Le fichier de connexion .... tu as une variable $bdd .....

et dans ta page membre.func.php ..... tu mets $db ????

L'erreur est là !
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 2/06/2015 à 22:42
toujours ce Notice: Undefined variable: bdd in C:\wamp\www\rs\functions\membre.func.php on line 19 et Fatal error: Call to undefined function query() in C:\wamp\www\rs\functions\membre.func.php on line 19

le code que j'ai modifié : (member.func.php)
<?php

/// Connexion à la BDD
$connectPhp =  __DIR__ . '/functions/connect.php';
if(file_exists($connectPhp)){
  require_once($connectPhp);
}else{
  echo "<br> Erreur : Le fichier $connectPhp  n'existe pas";
}


/**
* 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){
 $res = $bdd-->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");

 while ($data = $res->rowCount()){
  $infos [] = $data;
 }
}else{
 $infos[] = "Erreur : Variable de Session Utilisateur introuvable";
}
return $infos;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 22:28
c'est le votre ce script, ou dois-je ressortir l'ancien ? (le mien)
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
2 juin 2015 à 22:31
Bonsoir,

Lors de l'appel de la requête, il y a un tiret en trop :
$res = $bdd-->query(...
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 22:32
même soucis mais merci de me l'avoir signalé ^^
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 22:33
J'ai essayé celui-ci j'ai les 2 memes erreurs ... :

<?php

//la function qui va recuperer les infos de l'utilisateur connecté
function infos_membre_connecte()
{
$infos=array();
$pseudo = $_SESSION['pseudo'];
$res = $bdd->query("SELECT * FROM profil WHERE pseudo = '$pseudo'");


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

}
	return $infos;
}
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 22:48

le code que j'ai modifié : (register.func.php)

REGISTER ???????
On travaille sur le fichier MEMBRE depuis tout à l'heure .... !
Pourquoi es-tu allé dans ce fichier ???????



Bon... reprenons

Dans le fichier membre.func.php
On va régler les soucis d'include...

Comme le proposait hharchi9 on va utiliser $_SERVER['DOCUMENT_ROOT']

Donc :
Page membre.func.php :
 
<?php
//*********************************************//
//Fichier : membre.func.php
//*********************************************//

//-------------------------------------------
// Include du fichier de connexion à la BDD
//-------------------------------------------
$DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "/rs"; // chemin racine de ton site
$CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site

if(file_exists($CnxBDD)){
 require_once($CnxBDD) ;
}else{
 echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable";
}

/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
$infos=array();
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$sql = "SELECT * FROM profil WHERE pseudo = :pseudo";
$params = array(":pseudo"=>$pseudo);

//exécution de la requête
try{
  $prepare = $bdd->prepare($sql);
  $prepare->execute($params);
	// on stocke le résultat de la requête dans un ARRAY
	$infos = $prepare->fetchall();
}catch(Exception $e){
  die('Erreur : '.$e->getMessage());
}

return $infos;
}


Page membre.php
<div class='header'>
<?php
 $infos = infos_membre_connecte();
 foreach($infos as $info){ 
   echo "Bienvenue ".$info['pseudo']; 
 }
?>
</div>



Fichier connect.php

<?php
/**
* Fichier connect.php
**/

//--------------------------------//
//démarrage de session
//--------------------------------//
if(session_id() == '') {
 session_start();
}

//--------------------------------//
// Infos de connexion à la BDD
$serveur = "localhost";
$user = "root";
$pwd = "";
$dbname = "rs";
//--------------------------------//
// Connexion
//--------------------------------//
try {
  $bdd = new PDO ("mysql:host=".$serveur.";dbname=".$dbname.";charset=utf8", $user,$pwd);
}catch(Exception $e) {
  die('Erreur de connexion à la BDD '.$e->getMessage());
}

?>



... et pour ce qui est de ta page register ... REMETS CE QU'IL Y AVAIT AVANT !
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 23:03
J'ai pas touché au register.php, j'ai fais une erreur textuelle. Sinon j'ai appliqué toutes ces modifs (encore merci) et j'ai toujours :

-Notice: Undefined variable: bdd in C:\wamp\www\rs\functions\membre.func.php on line 29
-Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\rs\functions\membre.func.php on line 29
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 23:08
Etrange...je mets quand même le lien de la vidéo à l'appui : https://www.youtube.com/watch?v=r8LLuR8T6HQ
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
2 juin 2015 à 23:09
Tu peux essayer ça pour voir ?

<?php
//*********************************************//
//Fichier : membre.func.php
//*********************************************//
ini_set("display_errors", "1");
error_reporting(E_ALL);
//-------------------------------------------
// Include du fichier de connexion à la BDD
//-------------------------------------------
$DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "/rs"; // chemin racine de ton site
$CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site

if(file_exists($CnxBDD)){
 require_once($CnxBDD) ;
}else{
 echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable";
}

/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
global $bdd; // déclaration globale de BDD
$infos=array();
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$sql = "SELECT * FROM profil WHERE pseudo = :pseudo";
$params = array(":pseudo"=>$pseudo);

//exécution de la requête
try{
  $prepare = $bdd->prepare($sql);
  $prepare->execute($params);
	// on stocke le résultat de la requête dans un ARRAY
	$infos = $prepare->fetchall();
}catch(Exception $e){
  die('Erreur : '.$e->getMessage());
}

return $infos;
}



0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
3 juin 2015 à 11:26
Merci infiniement pour votre mobilisation !
J'ai une page toute noire qui s'affiche lorsque je me connecte.
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
3 juin 2015 à 11:57
une page toute noire ?
Quand tu te connecte ?

Tu te connecte où ?
C'est en rapport avec ton souci d'origine de ce message ?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
3 juin 2015 à 11:59
Bah avant au lieu d'avoir cette page noir, j'avais 2 erreurs vous vous souvenez ? pourtant d'après mes codes et le tuto, je devrai obtenir un bandeau blanc sur fond noir avec "Bienvenue" ...

Quand je me connecte sur mon login.php avec un identifiant et mot de passe qui est sur ma bdd
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
3 juin 2015 à 12:02
Donc plus d'erreur visiblement...
Donc maintenant.. il faut regarder le code qui te sert à afficher .

par contre... c'est visiblement un NOUVELLE QUESTION .. donc ... tu clos cette discussion et tu en ouvres une autre !
Et au passage ... tu fourniras le code source GÉNÉRÉ de ta page
(c'est à dire .. tu affiches ta page dans ton navigateur, tu fais un clic droit dessus, tu sélectionnes "afficher le code source" ... et tu le copie/colle dans le forum )
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
3 juin 2015 à 12:05
C'est entendu :) j'obtiens ceci :

<!DOCTYPE html>
<html>
    <head>
	  <link rel='stylesheet' href='css/style.css'>
    </head>
	<meta charset="UTF-8" >
    <body>
          <div id='content'>
          <div class='header'>
</div>    </div>
    </body>
	


Le code qui sert à afficher est celui ci n'est ce pas ?

<div class='header'>
<?php
 $infos = infos_membre_connecte();
 foreach($infos as $info){ 
   echo "Bienvenue ".$info['pseudo']; 
 }
?>
</div>
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
Modifié par jordane45 le 3/06/2015 à 12:11

Le code qui sert à afficher est celui ci n'est ce pas

Oui.

A la limite pour tester on pourrait essayer ça :
<div class='header'>
<?php
 $infos = infos_membre_connecte();
print_r( $infos );
 foreach($infos as $info){ 
   echo "Bienvenue ".isset($info['pseudo'])?$info['pseudo']:''; 
 }
?>
</div>



et dans le fichier
<?php
//*********************************************//
//Fichier : membre.func.php
//*********************************************//
ini_set("display_errors", "1");
error_reporting(E_ALL);
//-------------------------------------------
// Include du fichier de connexion à la BDD
//-------------------------------------------
$DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "/rs"; // chemin racine de ton site
$CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site

if(file_exists($CnxBDD)){
 require_once($CnxBDD) ;
}else{
 echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable";
}

/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
global $bdd; // déclaration globale de BDD
$infos=array();
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$sql = "SELECT * FROM profil WHERE pseudo = :pseudo";
$params = array(":pseudo"=>$pseudo);

//le temps des tests:
$infos['sql'] = $sql;
$infos['params'] = $params;

//exécution de la requête
try{
  $prepare = $bdd->prepare($sql);
  $prepare->execute($params);
 // on stocke le résultat de la requête dans un ARRAY
 $infos = $prepare->fetchall();
}catch(Exception $e){
  die('Erreur : '.$e->getMessage());
}

return $infos;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
3 juin 2015 à 12:12
J'obtiens un bandeau blanc sur fond noir avec "Array ()"
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
3 juin 2015 à 12:14
modifie comme ça :
?php
//*********************************************//
//Fichier : membre.func.php
//*********************************************//
ini_set("display_errors", "1");
error_reporting(E_ALL);
//-------------------------------------------
// Include du fichier de connexion à la BDD
//-------------------------------------------
$DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "/rs"; // chemin racine de ton site
$CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site

if(file_exists($CnxBDD)){
 require_once($CnxBDD) ;
}else{
 echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable";
}

/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
global $bdd; // déclaration globale de BDD
$infos=array();
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
$sql = "SELECT * FROM profil WHERE pseudo = :pseudo";
$params = array(":pseudo"=>$pseudo);

//le temps des tests:
$infos['sql'] = $sql;
$infos['params'] = $params;

//exécution de la requête
try{
  $prepare = $bdd->prepare($sql);
  $prepare->execute($params);
 // on stocke le résultat de la requête dans un ARRAY
 $infos['result'] = $prepare->fetchall();
}catch(Exception $e){
  die('Erreur : '.$e->getMessage());
}

return $infos;
}
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 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024
3 juin 2015 à 12:19
Une petite erreur s'est glissée ligne 1 ^^ <?php
sinon j'obtiens 3 erreurs :/ que voici : http://www.noelshack.com/2015-23-1433326768-erreur.jpg
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 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024
3 juin 2015 à 12:30
apparement ça concerne la ligne 6 de membre.php pour les 3 erreurs
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
3 juin 2015 à 12:35
Oui.
car ta requête ne retourne rien visiblement. .
tu l'as testée en direct 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
3 juin 2015 à 12:36
J'ai pas touché ma bdd, juste pour voir la section "utilisateurs" pour vérifier que j'avais bien le bon identifiant. Que dois je y faire ? :(
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
Modifié par jordane45 le 3/06/2015 à 13:20
Dans ta bdd .. tu prends la requête que tu as dans ton code ... tu remplaces la variable par celle qui est présente dans ta page ( le print que je t'ai fait ajouter....) et tu testes la requête directement dedans (via phpmyadmin par exemple ou via un logiciel comme heidisql : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql )

Et donc.. la requête à tester est :
SELECT * FROM profil 
WHERE pseudo ='xzak47'


et pour ce qui est du message d'erreur, essayes ça :

<div class='header'>
<?php
 $result= infos_membre_connecte();
//----------------------------------------//
 //le temps des tests :
//----------------------------------------//
 echo "<pre> Result de la fonction : <br>";
 print_r( $infos );
 echo "</pre>";
//----------------------------------------//

 $infos  = $result['result'];
 foreach($infos as $info){ 
   $pseudo = isset($info['pseudo'])?$info['pseudo']:'';
   echo "Bienvenue ". $pseudo; 
 }
?>
</div>
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 3/06/2015 à 13:11
1/ Pour la requete SQL, j'obtiens "erreur SQL (1146) , table "rs.profil" doesn't exist"
2/ lorsque je me connecte avec le script que vous venez de me donnez, j'obtiens Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\wamp\www\rs\pages\membre.php on line 15

en message d'erreur
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
3 juin 2015 à 13:19
Pour le echo il manquait un point.
j'ai édité mon message précédent.

Pour le pb de requête. .. le message est clair... ta table ne se nomme pas comme ça ou n'existe pas !
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 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024
3 juin 2015 à 13:22
Après rajout du point, j'ai toujours ce Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\wamp\www\rs\pages\membre.php on line 15

<div class='header'>
<?php
 $result= infos_membre_connecte();
//----------------------------------------//
 //le temps des tests :
//----------------------------------------//
 echo "<pre> Result de la fonction : <br>";
 print_r( $infos );
 echo "</pre>";
//----------------------------------------//

 $infos  = $result['result'];
 foreach($infos as $info){ 
   $pseudo = isset($info['pseudo'])?$info['pseudo']:''
   echo "Bienvenue ". $pseudo; 
 }
?>
</div


sinon pour le pb de requete, il faut donc que je crée cette table rs.profil ?
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
3 juin 2015 à 13:30
Ligne 14 .. manque un point virgule.

Pour la table. ... ben oui !
0
jordane45 Messages postés 38159 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
3 juin 2015 à 13:31
Ta table
... se nomme.... UTILISATEURS ... et non pas PROFILS !!
0