J'écris un script assez simple qui utilise un paramètre GET pour définir une variable dans le script. Donc au début du script, je vérifie que le paramètre GET existe et qu'il n'est pas vide (pour éviter ...page.php?param=
).
j'ai écrit ce morceau de code (le paramètre est nommé a
):
if (!isset($_GET['a']) || empty($_GET['a'])) {
header("Location: https://..."); // redirect to home page
die();
}
Et ça marche quand il n'y a pas de paramètre GET du tout, mais s'il y a soit ?a
ou ?a=
, la page est juste vide, même si j'ajoute un echo "some text";
Je ne comprends pas vraiment ce qui se passe. Quelqu'un pourrait-il me l'expliquer?
Merci :-)
EDIT: voici la page de code tout:
<?php
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://google.com");
exit();
}
echo "hello";
donc je devrais soit rediriger vers Google.com ou imprimer "bonjour" mais rien de tout cela se produit.
Pouvez-vous ajouter le code de la page avec le 'echo "du texte";'? – Chris
Vous devez utiliser '&&' au lieu de '||' –
Au lieu de 'die();', utilisez 'exit();' après 'header (...);' appel de fonction. –