Chargement session selon page connexion
Posté : 05 oct. 2012, 23:48
Bonsoir à tous,
titre pas évident à choisir. Je vous expose mon problème :
Mon site est fait de plusieurs pages : index, inscription, recherche, etc.
Sur chaque page, un utilisateur peut se connecter grâce à un bouton qui affiche une div avec champs login/mdp (include d'un php nommé formulaire_connexion).
Lorsque la personne valide le formulaire, je souhaite qu'il soit redirigé sur la page d'origine du formulaire envoyé.
En gros, s'il active la connexion sur la page "inscription", il faut qu'il reste sur cette page quand ça se connecte.
Mon formulaire_connexion renvoie vers connexion.php qui lui même utilise une fonction d'un fichier php contenant mes différentes fonctions.
A priori, c'est relativement aléatoire.. Des fois ça fonctionne, des fois non.. La majorité du temps, je suis renvoyé sur la page index.php...
Voici le code "un peu dégrossi" pour plus de compréhension :
formulaire_connexion.php
titre pas évident à choisir. Je vous expose mon problème :
Mon site est fait de plusieurs pages : index, inscription, recherche, etc.
Sur chaque page, un utilisateur peut se connecter grâce à un bouton qui affiche une div avec champs login/mdp (include d'un php nommé formulaire_connexion).
Lorsque la personne valide le formulaire, je souhaite qu'il soit redirigé sur la page d'origine du formulaire envoyé.
En gros, s'il active la connexion sur la page "inscription", il faut qu'il reste sur cette page quand ça se connecte.
Mon formulaire_connexion renvoie vers connexion.php qui lui même utilise une fonction d'un fichier php contenant mes différentes fonctions.
A priori, c'est relativement aléatoire.. Des fois ça fonctionne, des fois non.. La majorité du temps, je suis renvoyé sur la page index.php...
Voici le code "un peu dégrossi" pour plus de compréhension :
formulaire_connexion.php
<?php
include('Fonctions.php');
header('Content-Type: text/html; charset=iso-8859-1');
?>
<div id="connexion">
<?php
$_SESSION['PAGEPROV'] = substr($_SERVER['REQUEST_URI'],1);
?>
<div id="visiteur_deconnecte" >
<div id="espace_connexion" class="hauteur_espace_connexion">
<div class="contenu_espace_connexion">
<p class="texte_normal_gras_bleu">Déjà membre ?</p>
<form action="connexion.php" method="post">
<input class="input_zone_recherche" name="username" type="text" id="nomutilisateur">
<input class="input_zone_recherche" name="mdp" type="password" id="motdepasse">
<input id="validerconnexion" type="submit" value="Connexion" name="valide"/>
</form>
</div>
</div>
</div>
</div>
connexion.php
<?php
include('Fonctions.php');
header('Content-Type: text/html; charset=iso-8859-1');
?>
<?php
if(isset($_POST['valide'])==false)
{
redirect();
}
else
{
$_SESSION['pseudo'] = $_POST['username'];
$result = sqlquery("...............");
if($result['nbr'] == 1)
{
if($_POST['mdp'] == $result['mdp'])
{
$_SESSION['id'] = $result['id'];
$_SESSION['username'] = $result['username'];
$_SESSION['mdp'] = $result['mdp'];
unset($_SESSION['valide']);
unset($_SESSION['erreur']);
unset($_SESSION['pseudo']);
redirect();
exit();
}
}
}
?>
fonction.php
<?php
include('Fonctions.php');
header('Content-Type: text/html; charset=iso-8859-1');
?>
<?php
function redirect()
{
if(isset($_SESSION['PAGEPROV']) AND !empty($_SESSION['PAGEPROV']))
{
$loc = $_SESSION['PAGEPROV'];
header("Location: $loc");
exit();
}
else
{
header("Location: index.php");
exit();
}
}
?>