[RESOLU] Espace membre : Problème d'ouverture de session

Eléphant du PHP | 386 Messages

04 mai 2013, 20:26

Bonjour,

J'ai modifié la connexion à l'espace membre pour que chaque membre se connecte avec son email et son mot de passe au lieu du pseudo.
Le problème c'est que la redirection se fait bien, la connexion se fait, mais la session n'est pas crée, donc je n'ai pas accès à la page membre et je suis redirigé à la page d'accueil.
<?php
session_start();
require('../include/config.inc.php');

if (!empty($_POST['email']) && !empty($_POST['pass'])) :

	$email = $_POST['email'];
	$pass = sha1($_POST['pass']);
	
    $req = $connect->prepare('SELECT id, pseudo FROM wa_communaute WHERE email = :email');
    $req->execute(array('email' => $email));
    $result = $req->fetchAll();
    if(count($result) == 1) :
		$_SESSION['id'] = $result['id'];
		$_SESSION['pseudo'] = $result['pseudo'];
		header('Location: ../home');
    else:
        echo '<div class="error-login">Vos identifiants sont incorrects !</div>';
    endif;
else:
    echo '<div class="error-login">Veuillez remplir tous les champs !</div>';
endif;
?>
Voici la page membre (home) :
<?php
session_start();
require('../include/config.inc.php');
if(!isset($_SESSION['pseudo'])) {
	header('location: ../index.php?error=true&next=home.php');
	exit();
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="UTF-8" />
	<title>Web Astronomie></title>
	<meta name="description" content="Web Astronomie vous permet de publier vos articles, photos... avec vos amis et les internautes du site. Inscrivez-vous dès maintenant !" />
	<?php include('../include/head.inc.php'); ?> 
</head>
<body>
<?php include('../include/sidebar.inc.php'); ?> 
<?php include('../include/header.inc.php'); ?> 
	<div id="content">
		<div class="container">

		</div>
	</div>
</body>
</html>
Et l'accueil du site :
<?php
session_start();
require('include/config.inc.php');
if(isset($_SESSION['pseudo'])) {
	header('Location: home');
}
if(isset($_GET['error']) == 'true') {
   $erreur401 = 'Vous devez vous connecter pour voir cette page.';
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="UTF-8" />
	<title>Web Astronomie | Le réseau social de l'astronomie</title>
	<meta name="description" content="Web Astronomie vous permet de publier vos articles, photos... avec vos amis et les internautes du site. Inscrivez-vous dès maintenant !" />
	<?php include('include/head.inc.php'); ?> 
</head>
<body>
<?php include('include/sidebar.inc.php'); ?> 
<?php include('include/header.inc.php'); ?> 
	<div id="content">
		<div class="container">
		
		</div>
	</div>
</body>
</html>
Merci d'avance pour vos réponses ;)

ViPHP
ViPHP | 1996 Messages

04 mai 2013, 23:15

Les cookies sont ok ? Car l'identifiant de session se transmets de page en page par cookie. il se peut qu'il se transmette par l'url mais ce n'est pas recommandé.
Que te donne un
var_dump ($_SESSION);
en page membre ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 386 Messages

05 mai 2013, 01:14

le var_dump dit :
array(2) { ["id"]=> NULL ["pseudo"]=> NULL }

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

05 mai 2013, 17:20

Modération :
Le multipostage est interdit sur le forum.

Ce sujet a été verrouillé et sera supprimé sous peu.
Des réponses peuvent être apportées à cette adresse :
php-debutant/espace-membre-connexion-av ... 67945.html

Merci de prendre le temps de lire les règlements.
Il en faut peu pour être heureux ......