Accueil > Forum > > > > Redirection en fonction de la page demandée
Redirection en fonction de la page demandée
samedi 14 août 2010 à 17:32:01 |
Redirection en fonction de la page demandée

Clems24
|
Bonjour,
J'ai mis en œuvre une authentification php avec redirection.
Toutefois, j'aimerais que la redirection se fasse en fonction de la page qu'a demandé l'internaute.
C'est à dire s'il tape http://bipbip.com il s'authentifie puis il se fait redirigé sur http://bipbip.com/index.php
Mais s'il saisie http://bipbip.com/coyote/pamplemouse.php, il faut qu'il s'authentifie puis qu'il soit redirigé vers http://bipbip.com/coyote/pamplemouse.php
Merci par avance pour votre aide.
|
|
dimanche 15 août 2010 à 12:33:23 |
Re : Redirection en fonction de la page demandée

gillardg
|
Bonjour,
regarde du côté de $_SERVER['PHP_SELF']
et $_SERVER['HTTP_REFERER']
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
|
|
dimanche 15 août 2010 à 14:01:40 |
Re : Redirection en fonction de la page demandée

kohntark
|
Salut,
Où se situe le problème ?
Dans tes exemples il n'y a aucune redirection. De plus nous ne savons pas par quel principe tu passes pour effectuer cette authentification.
Juste pour compléter le propos de Gillardg : attention à la variable 'HTTP_REFERER', elle est une donnée utilisateur, il peut donc la modifier comme il le souhaite, et dans un nombre de cas significatifs cette variable est vide.
Cordialement,
Kohntark -
|
|
dimanche 15 août 2010 à 17:20:26 |
Re : Redirection en fonction de la page demandée

Clems24
|
Merci pour votre intérêt.
Voici mon code :
Code PHP : <?php require_once('connexion.php'); ?>
<?php
/*
-----------------------------------
------ SCRIPT DE PROTECTION -------
DBProtect V1.2
-----------------------------------
*/
session_start(); // début de session
if (isset($_POST['login'])){ // execution uniquement apres envoi du formulaire (test si la variable POST existe)
$login = addslashes($_POST['login']); // mise en variable du nom d'utilisateur
$pass = addslashes(md5($_POST['pass'])); // mise en variable du mot de passe chiffré à l'aide de md5 (I love md5)
// requete sur la table administrateurs (on récupère les infos de la personne)
mysql_select_db($database_dbprotect, $dbprotect);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs
$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) { // On test s'il y a un utilisateur correspondant
session_register("authentification"); // enregistrement de la session
// déclaration des variables de session
$_SESSION['privilege'] = $row_verif['privilege']; // le privilège de l'utilisateur (permet de définir des niveaux d'utilisateur)
$_SESSION['nom'] = $row_verif['nom']; // Son nom
$_SESSION['prenom'] = $row_verif['prenom']; // Son Prénom
$_SESSION['login'] = $row_verif['login']; // Son Login
$_SESSION['pass'] = $row_verif['pass']; // Son mot de passe (à éviter)
header("Location:accueil.php"); // redirection si OK
}
else {
header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu
}
}
// Gestion de la déconnexion
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un contexte de déconnexion
$prenom = $_SESSION['prenom']; // On garde le prénom en variable pour dire au revoir (soyons polis :-)
session_unset("authentification");
header("Location:index.php?erreur=delog&prenom=$prenom");
}
?>
<html>
<head>
<title>AUTHENTIFICATION - DBProtect</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<form action="" method="post" name="connect">
<p align="center" class="titre"><strong>- : : : ESPACE SECURISE PAR DBProtect : : : -</strong></p>
<p align="center" class="title">
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur ?>
<strong class="erreur">Echec d'authentification !!! > login ou mot de passe incorrect</strong>
<?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur ?>
<strong class="reussite">Déconnexion réussie... A bientôt <?php echo $_GET['prenom'];?> !</strong>
<?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
<strong class="erreur">Echec d'authentification !!! > Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page</strong>
<?php } ?>
</p>
<p align="center"><u>Authentification sécurisée utilisant :</u><br>
- BDD MySQL<br>
- Sessions PHP côté serveur <br>
- Empreintes des mot de passe stockés par md5</p>
<p align="center"><em><a href="lisez_moi.htm">lire les instructions d'installation >></a><br>
<a href="details.doc">lire le fonctionnement détaillé >></a></em></p>
<table width="300" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr>
<td width="50%""><div align="right">login</div></td>
<td width="50%"><input name="login" type="text" id="login"></td>
</tr>
<tr>
<td width="50%""><div align="right">mot de passe</div></td>
<td width="50%"><input name="pass" type="password" id="pass"></td>
</tr>
<tr>
<td height="34" colspan="2"><div align="center">
<input type="submit" name="Submit" value="Se connecter">
</div></td>
</tr>
</table>
<p align="center"><a href="http://www.cv-webmaster.com" title="cv webmaster webdesigner développeur php/mysql">CV webmaster et auteur du script</a></p>
</form>
</body>
</html>
Le code provient du forum et il est libre d'utilisation d'après son auteur.
Merci par avance pour votre aide.
|
|
dimanche 15 août 2010 à 20:05:36 |
Re : Redirection en fonction de la page demandée

Clems24
|
header("Location:accueil.php"); // redirection si OK
IL faut que je trouve un moyen de remplacer accueil.php par une variable qui correspond à l'URL demandé par l'internaute.
Merci par avance pour votre aide.
|
|
lundi 16 août 2010 à 11:06:42 |
Re : Redirection en fonction de la page demandée

gillardg
|
Bonjour,
mis à part header("Location:$_SERVER['HTTP_REFERER'] ");je ne vois pas comment faire , à moins de mettre en place un système qui enregistre $_SERVER['PHP_SELF'] pour ceux qui ne sont pas connectés
une variable ou un cookie à toi de voir
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
|
|
lundi 16 août 2010 à 14:04:20 |
Re : Redirection en fonction de la page demandée

Clems24
|
Encore merci pour ton aide je suis arrivé à faire la redirection comme je le désirais.
Désolé de t'avoir autant sollicité mais mon niveau de php et proche du néant...
Enfin, je me demandais comment faire une itération correcte pour qu'il affiche la bonne redirection en fonction de la page demandé soit :
Code :
Code PHP :
if (page_demandé = index.php) {
header("Location:accueil.php");
}
else {
header('Location: ' . $_SESSION['page_demandee']);
}
J'ai tenté de remplacer page_demandé par $_SERVER['REQUEST_URI'] mais cela ne fonctionne pas.
MERCI
|
|
Cette discussion est classée dans : php, http, redirection, com, bipbip
Répondre à ce message
Sujets en rapport avec ce message
URL Rewriting problème de redirection [ par NHenry ]
Bonjour, J'ai un problème avec l'URL Rewriting, je voudrais que : Monsite.com/UnTitre aille sur Monsite.com/TstRedir.php?nom=UnTitre Alors que : Mons
PHP - switch avec redirection [ par crisom ]
bonjour, problème classique dont je n'ai pas trouvé la bonne reponse j'ai dans la page 1 ( avec un include ('haut.php'); pour avoir un head commun à d
Redirection temporisée [ par spacedelta ]
Bonjour, Peut-on rajouter un "timeout" (j'en sais rien j'ai juste entendu parler) ou un compte à rebour à ce bout de code php ? [code=php][/code] C'es
comment intégrer la bib php_http.dll dans mon php [ par nwija ]
Je viens de travailler avec la fonction http_parse_message() ce qui m'oblige a installer la bib php_http.dll ,mais après avoir l'installer j'ai eu un
Recup des caracs après un signe dans un txt plusieurs fois si necessaire [ par ludesert ]
Bonjour, J'ai crée le site http://megabypass.tk/ qui permet de débrider simplement le site bien connu de tous Mega******. Je souhaite évoluer dans
Redirection selon sous-domaine [ par webmag ]
Bonjour, je cherche sur le Web une réponse sans succès. Je cherche simplement une façon de créer un sous-domaine qui redirige vers un compte d'un memb
formulaire qui rempli un tableau [ par simspid ]
bonjour voila je vais essayer d'expliquer mon problème le mieux possible mon père est président d'un association de tarot pour plus de commodité je l
Redirection php [ par youvalcsharpp ]
Bonjourr, jai un input avec un bouton envoyerr j aimerai savoir comment on fait pour que lorsque par exemple dans l'input il y a marquer lol alors a
pb url rewritting [ par tex73 ]
salut à tous! j'ai un site dont les urls sont de la forme: http://www.mondomaine.com/index.php?page=mapage&var1=A&var2=B&var3=C... et je souhaiterai o
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|