Redirection sécurisée page voulue
Bonjour,
voilà le code (merci à jreaux62) qui permet de protéger des pages réservées à des personnes inscrites :
_protection_page.php :
Code:
1 2 3 4 5 6 7
| <?php
if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
{ // redirection vers page authentification (mettre le nom correct !!)
header("location: ./accueil_membre.php");
exit; }
// IDENTIFICATION OK => on continue ...
?> |
Ce que je souhaite :
si l'utilisateur clique sur un lien vers une page sécurisée (ici contact_ev.php), une fois l'utilisateur connecté via la page de connection (pdf_connexion2.php), il soit redirigé vers la page qu'il souhaitait (ici contact_ev.php) bref la page qui était avant la page de connexion...
j'ai essayé avec javascript:history.back(1) ou $_SERVER['HTTP_REFERER'] mais çela ne fonctionne pas...
avez-vous des idées ? Merci beaucoup.
contact_ev.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| <?php session_start();
require ('./_protection_page.php');
require ("configuration.php"); //accès à la base de données
$sql = connect_sql();
$pseudo_membre2 = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre2'");
$result = mysql_fetch_array ($requete);
$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
<div id="mainContent">
<br />
<fieldset>
<legend> Envoyer un fichier avec plusieurs évènements </legend>
<form name="formulaire" action="<? echo $_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
<br />
<label for="message">Message :  </label>
<br />
<textarea id="message" name="Message" class="ev" tabindex="1" onfocus="this.className='textarea_focus';"
onblur="this.className='textarea';valide(this, 'err_nom');" >
</textarea>
<br />
<br />
..........................
<label for="fichier">Pièce jointe :  </label>
<br />
<input type="hidden" name="MAX_FILE_SIZE" value="<? echo $taillemax?>" />
<input type="file" id="fichier" name="Fichier" tabindex="2" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_nom');" />
<br />
<p><b>Attention : taille du fichier inférieure à 2 Mo</b></p>
<br />
<input id="submit" tabindex="3" type="submit" value="Envoyer" />
<br />
</fieldset>
</form>
<br />
<a href="Evenement.ods"]">Fichier au format libre .ods (Libre Office)</a>
<br />
<br />
<a href="Evenement_Excel.xls"]">Fichier au format propriétaire .xls (Microsoft Office)</a>
<br />
<br />
<p>Pour utiliser le format libre "Libre Office", vous pouvez télécharger ce logiciel libre
<a href="http://fr.libreoffice.org/telecharger/"]"> ici </a>
</p>
</div>
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page -->
</body>
</html> |
pdf_connexion2.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <?
session_start(); // Pour la suite
require ("configuration.php"); //accès à la base de données
$pseudo = $_POST['pseudo']; //On recupère le pseudo et le pass
$pass = $_POST['password'];
if (!empty($pseudo) && !empty($pass)) //S'ils ne sont pas vides
{
$sql = connect_sql(); //On se connecte à MySQL
$reponse = mysql_query ("SELECT * FROM pdf_membre WHERE pseudo='$pseudo'"); //On recupère les infos à partir du pseudo
$donnees = mysql_fetch_array ($reponse);
$verif = $donnees['pass'];
$id = $donnees['id'];
$pseudo_sql = $donnees['pseudo'];
$confirm = $donnees['confirm'];
if($pass != $verif) //On verifie que le mot de passe est égal à celui de la Base de Données, si le passe est différent
{
$reponse = 'Excusez-nous '.'<b>'.$pseudo.'</b>'.' mais vôtre identifiant ou vôtre code secret est incorrect !';
$reponse .= '<p>'.'</p>';
$redirection = 'accueil_membre.php'; //On va rediriger vers le formulaire de connexion
sleep(6500);
}
elseif(!empty($confirm)) //Si le compte n'est pas activé
{
$reponse = 'Votre compte n\'est pas encore activé';
$redirection = 'accueil_membre.php'; //On va rediriger vers le formulaire de connexion
sleep(2500);
}
else //Sinon tout est bon
{
//$redirection = '<a href="javascript:history.back(1)">Retour au formulaire</a>';
$_SESSION['pseudo'] = $pseudo_sql ; //On créé une variable session avec le pseudo
$redirection = header('Location: '.$_SERVER['HTTP_REFERER']); //On redirige vers l'espace membre
$reponse = 'Connexion réussie vous allez être redirigé'.'<br>'.
'<a href="javascript:history.back(1)">Rejoindre directement la page</a>';
sleep(2500);
}
mysql_close($sql); //On ferme la connexion
}
else
{
$reponse = 'Vous n\'avez rien saisi !';
$redirection = 'accueil_membre.php'; //On va rediriger vers le formulaire de connexion
sleep(2500);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta http-equiv="refresh" content="1;URL=<? echo $redirection; //La redirection ?>">
</head>
<body>
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
<div id="mainContent">
<? echo $reponse; ?><!-- La reponse au script -->
</div>
</body>
</html> |