[RESOLU] Problème header sans exit

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème header sans exit

Re: [RESOLU] Problème header sans exit

par @rthur » 29 janv. 2016, 00:35

D'une façon générale, dès qu'on ajoute dans son code un header("location:..."), il faut prendre l'habitude d'ajouter un exit immédiatement derrière.
Il n'y a aucune raison valable de ne pas mettre un exit vu qu'on demande une redirection immédiate vers une autre page, ça permet d'éviter des bugs :)

Re: Problème header sans exit

par kevin254kl » 28 janv. 2016, 17:35

Super merci je ne savais pas ça je me coucherais moins bête.

Re: Problème header sans exit

par Saian » 27 janv. 2016, 15:40

Bonjour, cela est possible car la fonction header n'arrête pas l'exécution du script qui continue jusqu'au bout. Donc si tu as un autre header location et que le script passe dessus, il remplace le précédent.

Si aucune autre ligne ne doit être exécutée après un header location le plus simple reste de mettre un exit en suivant, rien d'anormal à cela.

PS : quand on fait un header location ce n'est pas le serveur qui fait la redirection, c'est le navigateur qui en interprétant le header demande la nouvelle page.

Problème header sans exit

par kevin254kl » 27 janv. 2016, 15:30

Bonjour à tous,

Pourriez vous m'aider? voici mon problème

Code : Tout sélectionner

$requete = "SELECT NUM_PROJET FROM POP_PROJET WHERE NUM_PROJET ='".$num_projet."'"; $statement = oci_parse($conn, $requete); oci_execute($statement,OCI_COMMIT_ON_SUCCESS); $numrows = oci_fetch_all($statement, $res); if($numrows > 0){ $_SESSION['MESSAGE'] = T_("Le numéro de projet ne doit pas exister!"); header('Location: ajt_projet.php'); exit ; }
ici je regarde si un projet existe déjà si j'enlève le exit celui-ci me redirige vers une autre page avec un header plus bas je ne comprends pas comment cela est possible auriez-vous une explication?