Le Forum Non Officiel de la DEDIBOX
Vous n'êtes pas identifié.
Bonjour à tous!!
J'ai créé un script de gestion de fiches clients. Enfin bref, je vous explique le principe et mon problème:
- La fiche client est créée
- Un mail est envoyé au responsable du service auquel le client a souscrit
- Dans ce mail, un lien pour consulter la fiche client
- L'url de destination envoie vers une page accessible que si on est loggé.
-> Quand on clique sur le lien: on arrive directement a la fiche si on est loggé
Mais si on est pas loggé, on arrive à la page ou il faut entrer son pseudo et pass, MAIS après, on perd l'url qu'on cherchait à atteindre...
Comment faire pour que, après que la personne du service se soit loggé, on retourne sur la page ou il voulait aller au début? ![]()
Merci d'avance à vous! J'ai testé pas mal de trucs sans succès...
Hors ligne
Ben faut la passer au formulaire d'authentification et la garder en mémoire aux différentes étapes d'authentification (variable hidden de formulaire...).
Hors ligne
Ok, mais si on n'a pas de page ou aller, et qu'on veut simplement rentrer dans l'interface, a ce moment la, pas de redirection a la fin de l'authentification.
je veux bien passer par le hidden, mais comment récupérer l'url ou l'on voulait aller?
Hors ligne
lors de "l'arrivage" sur la page de consultation, tu verifie si il est loggé, si non: tu fou la page en session, apres le form de login, si la session existe, tu rediriges sur celle ci.
Hors ligne
Je schematise, mais tu dois avoir qq chose comme ca au début de tes pages protétées:
[code=php]
if (!isset($_SESSION['user_id']))
{
header('Location: login.php');
exit();
}
[/code]
Une des solutions est de passer en paramètre à login.php la page initialement souhaitée:
[code=php]
if (!isset($_SESSION['user_id']))
{
header('Location: login.php?returnurl=' . urlencode($_SERVER["REQUEST_URI"]));
exit();
}
[/code]
Dans login.php tu peux donc récupérer $_REQUEST['returnurl'] pour savoir où rediriger l'utilisateur.
Si login.php ne reçoit pas d'URL en paramètre, suffit de rediriger vers une page par défaut...
Bien sûr faut affiner ce process et le sécuriser au maximum.
Hors ligne
Re a vous deux! Effectivement cela me parait une bonne solution
Le paramètre que je cherchais était $_SERVER["REQUEST_URI"]... Merci a toi une fois de plus pour tes conseils ![]()
Mais quand tu parle de sécurité que veux tu dire ici? (je suis vraiment pas doué en sécurité...)
Hors ligne
Si tu connais le format des URL, tu as par exemple intérêt à passer la valeur REQUEST_URI à la moulinette regexp (preg_match) pour t'assurer du bon format de ce qu'on t'envoie.
Bref, vérifier ce qu'on te fournit au lieu de simplement le reprendre comme dans mon bout de code. Faut voir en fonction de l'appli.
Hors ligne