Page 1 sur 1

Chargement session selon page connexion

Posté : 05 oct. 2012, 23:48
par R3coN
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
<?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();
	}
}


?>

Re: Chargement session selon page connexion

Posté : 06 oct. 2012, 06:50
par schim59
Bonjour,
TU as la possibilité d'utiliser AJAX(Javascript) ou de stocker l'URL dans une variable + geturl().
Bonne journée.

Re: Chargement session selon page connexion

Posté : 07 oct. 2012, 10:52
par R3coN
Merci pour ta réponse.
Suite à celle-ci, j'ai changé ma façon de transférer l'info.. Je passe maintenant par mon formulaire et c'est nickel.
Ci-dessous ce que j'ai mis en place :
<input type=hidden name="LocConnec" value="<?php echo(substr($_SERVER['REQUEST_URI'],1)); ?>">