begin process at 2012 05 31 14:08:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Redirection en fonction de la page demandée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club
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 !!! &gt; login ou mot de passe incorrect</strong>

    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur ?>
    <strong class="reussite">D&eacute;connexion r&eacute;ussie... A bient&ocirc;t <?php echo $_GET['prenom'];?> !</strong>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
    <strong class="erreur">Echec d'authentification !!! &gt; 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&eacute;curis&eacute;e utilisant :</u><br>
    - BDD MySQL<br>
    - Sessions PHP c&ocirc;t&eacute; serveur <br>
  - Empreintes des mot de passe stock&eacute;s par md5</p>
  <p align="center"><em><a href="lisez_moi.htm">lire les instructions d'installation &gt;&gt;</a><br>
    <a href="details.doc">lire le fonctionnement d&eacute;taill&eacute; &gt;&gt;</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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales