J'essaie de faire un script php de test simple pour les sessions. Fondamentalement, il incrémente un compteur (stocké dans $_SESSION
) chaque fois que vous actualisez cette page. Cela fonctionne, mais j'essaye d'avoir un lien pour détruire la session qui recharge la page avec le paramètre ?destroy=1
. J'ai essayé quelques instructions if pour voir si ce paramètre est défini et si c'est le cas pour détruire la session mais cela ne semble pas fonctionner.Accéder au paramètre html en PHP
J'ai même mis une instruction if dans le corps principal pour faire apparaître un message si le paramètre est défini - mais il ne semble pas être détecté.
Je sais que je fais quelque chose d'idiot (je suis un débutant PHP) mais je ne peux pas sembler trouver ce qu'il est ...
Code Voir ici:
<?php
if ($_POST['destroy']) {
session_destroy();
} else {
session_start();
}
?>
<html>
<head>
<title>Session test</title>
</head>
<body>
<?php
if (isset($_POST['destroy'])) {
echo "Destroy set";
}
$_SESSION['counter']++;
echo "You have visited this page " . $_SESSION['counter'] . " times" . "<BR>";
echo "I am tracking you using the session id " . session_id() . "<BR>";
echo "Click <a href=\"" . $_SERVER['PHP_SELF'] . "?destroy=1\">here</a> to destroy the session.";
?>
Pas vraiment une bonne pratique. Il est important de s'assurer que vos variables proviennent de la source attendue. –
Vraiment? pourquoi c'est important? Si quelqu'un peut truquer un GET, ils peuvent simuler un POST aussi facilement. Je pense que ce n'est pas grave si vos variables proviennent de GET ou POST, vous devriez traiter les deux comme étant tout aussi non fiables. – Pat