Retour de PHP vers HTML

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 : Retour de PHP vers HTML

Re: Retour de PHP vers HTML

par Herve_be » 31 août 2010, 08:38

Merci pour toutes ces infos.
J'ai ajouté exit;

Re: Retour de PHP vers HTML

par stealth35 » 31 août 2010, 03:34

Le nom du fichier du script en cours d'exécution est $_SERVER['PHP_SELF']
faut faire gaffe aussi avec $_SERVER['PHP_SELF'] parce que le script c'est pas forcement la page (rewriting)

Re: Retour de PHP vers HTML

par AB » 30 août 2010, 21:41

Le nom du fichier du script en cours d'exécution est $_SERVER['PHP_SELF']

L'adresse de la page (si elle existe) qui a conduit le client (le visiteur) à la page courante est $_SERVER['HTTP_REFERER'] mais cette variable n'est pas une valeur de confiance comme le dit la doc http://php.net/manual/fr/reserved.variables.server.php

A l'intérieur d'un formulaire (action = "#") ou d'un lien href tu peux utiliser # pour appeler la même page.

Note : A la suite d'un header(Location..); prends soin d'écrire exit à la suite (comme dans mon exemple) car dans certains cas le header ne fonctionnera pas et le code continuera à s'exécuter sans redirection.

Re: Retour de PHP vers HTML

par Herve_be » 30 août 2010, 16:14

En fait, je n'ai pas compris, je pensais que 'HTTP_REFERER' voulait justement dire "l'URL de ma page" et j'ai donc écrit
header('Location: http://www.xxxxxxxx/MembersUpdate.php');
ce qui fonctionne très bien !

Re: Retour de PHP vers HTML

par AB » 30 août 2010, 15:51

NON ne pas utiliser la variable de serveur $_SERVER['HTTP_REFERER'] dans ce cas. Ce n'est pas une variable de confiance car elle peut exister ou non suivant le paramétrage du navigateur par le visiteur cf la doc. En moyenne elle est renseignée moins d'une fois sur deux.

Donc à la place d'utiliser $_SERVER['HTTP_REFERER'] qui fonctionnera ou pas suivant la configuration du navigateur, tu peux très bien indiquer le nom de ta page de formulaire, ce qui fonctionnera à tous les coups :
header('Location: nom_de_ma_page_formulaire.html');
exit;

Re: Retour de PHP vers HTML

par Herve_be » 28 août 2010, 12:49

Je ne connaissais pas cette fonction.
C'est exactement ce que je voulais.
Un tout grand merci.

Re: Retour de PHP vers HTML

par Elie » 28 août 2010, 12:30

Le plus simple :)

A la fin de ta page PHP :
header('Location: '.$_SERVER['HTTP_REFERER']);

Retour de PHP vers HTML

par Herve_be » 28 août 2010, 12:07

Bonjour,
J'ai créé un formulaire HTML pour enregistrer un membre dans un club.
Un bouton input envoie les données vers un document PHP qui les traite (crée l'enregistrement dans une base de données SQL).
Tout ceci fonctionne très bien.

Ma question : quand le document PHP a terminé son travail, comment revenir au formulaire HTML ?
Merci d'avance pour vos réponses