Script pour assistant sur un site web.

Utilisateur anonyme -  
 InMax83 -
Bonjour,
Je voudrais faire un script comme cela:
1) Détecter la provenance de l'utilisateur. 
2) Si l'utilisateur est en provenance de http://unsite.com/etape1.php alors rester sur cette page. Si l'utilisateur n'est pas en provenance de http://unsite.com/etape1.php alors redirection vers http://unsite.com/etape1.php


Merci d'avance pour vos réponses.

1 réponse

  1. InMax83
     
    en php j'imagine ?

    // Nom : Controller Version 1
    if($_SERVER["HTTP_REFERER"] != "etape1.php")
    {
    header("Location: /etape1.php");
    }
    


    La version courte :
    // Nom : Controller version Courte 1
    if($_SERVER["HTTP_REFERER"] != "etape1.php") header("Location: /etape1.php");


    (Sans les accolades, sur une seule et même ligne, moins lisible en général sauf dans certains cas, c'est une question d'appréciation)

    Attention avec ce script, HTTP_REFERER n'est pas toujours renseigné.

    En ce cas, je te conseil d'utiliser des variables de session qui jouent le rôle de mini historique :

    // Nom : Historique de navigation
    if(isset($_SESSION["current_URI"]))
    {
    $_SESSION["last_URI"] = $_SESSION["current_URI"];
    }
    $_SESSION["current_URI"] =  $_SERVER['REQUEST_URI'];
    

    Et le premier script deviendrait :
    // Nom : Controller version 2:
    if(isset($_SESSION["last_URI"]) && $_SESSION["last_URI"] != "etape1.php")
    {
    header("Location: /etape1.php");
    }


    Explication :
    Historique de navigation:
    $_SESSION["current_URI"] récupère l'adresse de la page ou tu te trouves (sans le nom de domaine, mais osef)
    L'autre variable récupère la variable qui avait était chargée la page d'avant. Ensuite tu écrate $_SESSION["current_URI"] avec le nouveau lien en cours.

    Pour les controllers : si la variable contenant la page précédente ne correspond pas à ce que tu attends ("etape1.php"), tu rediriges l'utilisateur (header("Location: etc))

    Bonne journée
    0
    1. Utilisateur anonyme
       
      Bonjour,
      N'as tu pas ce script en javascript car je suis nul en php S.V.P ?
      0
    2. InMax83
       
      Je ne suis malheureusement pour toi pas utilisateur du js, donc je ne te fournirais pas de code vaseux, juste des pistes :
      document.referer permettrais de récupérer l'url de la page précédente.
      Tu peux utiliser la structure conditionnelle (if) de la même façon que je l'ai faites en php
      window.location.href permet une redirection

      Bonne soirée
      0