Bonjour, j'ai un problème avec mon script, voilà j'ai un espace membre et j'utilise la structure mvc mais quand je me connect je n'arrive pas à écho les infos de l'utilisateurs, à la place j'ai une erreur :
Warning: Invalid argument supplied for foreach() in 9
L'objectif c'est de créer une boucle foreach et de récupérer les infos de l'utilisateur connecter.
En faîte, la page compte.php c'est la page de quand l'utilisateur arrive à se connecter.
J'ai 3 dossier dans la racine (modéle, vue et controleur) en dehors des 3 dossier j'ai le fichier compte.php
<?php
include_once('modele/connect.php');
if (!isset($_GET'section']) OR $_GET'section'] == 'compte')
{
include_once('controleur/social/compte.php');
}
?>
dans le modele le fichier get_compte.php :
<?php
//la function qui va recuperer les infos de l'utilisateur connecté
function infos_membre_connecte()
{
global $bdd;
$req = $bdd->prepare('SELECT * FROM utilisateurs WHERE pseudo = :pseudo');
$req->execute(array(':pseudo' => $_SESSION'pseudo']));
return FALSE !== $req->fetchColumn();
}
?>
dans la vue le fichier coompte.php (la page ou j'aimerais afficher par exemple ici le pseudo de l'utilisateur connecté.
<?php
session_start(); // On démarre la session AVANT toute chose
?>
<?php
echo $infos'pseudo'];
?>
et dans le dossier controleur j'ai le fichier compte.php
<?php
include_once('modele/social/get_compte.php');
$infos = infos_membre_connecte();
foreach($infos as $cle => $info)
{
$infos$cle]'pseudo'] = htmlspecialchars($info'pseudo']);
}
include_once('vue/social/compte.php');
?>
La page login.php j'ai :
<?php
include_once('modele/social/get_login.php');
if(isset($_POST'submit']))
{
if(empty($_POST'pseudo']) OR empty($_POST'password']) )
{
$errors] = " <div class='msg' id='ij_msg' style='overflow: visible; margin-top: 20px; margin-bottom: 10px; padding-top: 8px; padding-bottom: 8px; display: block;'>
<b>Veuillez entrer votre pseudo et votre mot de passe.</b><br>
Si vous avez soigneusement vérifié toutes les informations, mais que vous ne parvenez toujours pas à vous connecter, <a href=''>cliquer ici</a>.<b>AV</b>.</div>";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo"<div class='error'>".$error."</div>";
}
}
else
{
if(verifier_combinaison_pseudo_password($_POST'pseudo'],$_POST'password']) == 0)
{
echo"
<div class='msg' id='ij_msg' style='overflow: visible; margin-top: 20px; margin-bottom: 10px; padding-top: 8px; padding-bottom: 8px; display: block;'>
<b>Pseudo ou mot de passe incorrect.</b><br>
Si vous avez soigneusement vérifié toutes les informations, mais que vous ne parvenez toujours pas à vous connecter, <a href=''>cliquer ici</a>.<b>AV</b>.</div>";
}
else
{
session_start();
$_SESSION'pseudo'] = $_POST'pseudo'];
header("Location:compte.php");
}
}
}