Ce petit tutoriel va vous permettre de vous assurer de la provenance de l’utilisateur. Je m’explique mieux : l’utilisateur correct passe par une page, entre des données ou lit tout simplement le contenu, puis clique sur un lien qui permet de passer à la page suivante.
Nous allons nous assurer que l’utilisateur passe bien par la première page avant de visiter la deuxième. Cette technique peut être par exemple utile pour empêcher des petits futés d’accéder à la fin du formulaire sans avoir rempli les premières étapes. Mais d’autres utilisations peuvent être possibles, l’imagination est sans limite…
Nous avons deux fichiers :

Le premier fichier (index.php) contient le code suivant :
<form method = "post" action = "cible.php" >
<input type = "text" name = "texte" />
<input type = "hidden" name = "champ_cache" value = "traitement" />
<input type = "submit" />
</form>
La ligne qui est intéressante est la suivante :
<input type = "hidden" name = "champ_cache" value = "traitement" />
On utilise en fait un champ caché (hidden) qui n’apparaitra pas à l’écran. Néanmoins, une variable sera transmise à la page cible.php. C’est en vérifiant la valeur de cette variable $_POST['champ_cache'] = 'traitement'; que l’on va pouvoir s’assurer que la première page a été exécutée.
La page cible.php contient le code suivant :
<?php
if (isset($_REQUEST['champ_cache']) && $_REQUEST['champ_cache'] == 'traitement')
{
echo '<p>Vient du formulaire</p>';
}
else
{
echo '<p>Ne vient pas du formulaire</p>';
}
?>
C'est la première ligne qui nous intéresse, sa traduction littérale est la suivante :
Si la variable "champ_cache" est affectée et que sa valeur est "traitement", alors l'utilisateur vient bien de la page index.php.
Voilà, c'est terminé ! vous pouvez vérifier ce script en appelant directement la page cible.php :
On pourrait dans la même logique utiliser les variables de sessions : ($_SESSION['valeur']).





