Formulaire appelant une fonction php

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 : Formulaire appelant une fonction php

par Cyrano » 28 sept. 2005, 15:32

Tiens, télécharge ce formulaire modèle, tu y verras comment valider en une seule page.

Formulaire appelant une fonction php

par Ashenaar » 28 sept. 2005, 15:31

Bonjour,

avant je faisais tous mes traitements de formulaire en deux pages :
une page pour le forumlaire qui renvoyait vers une deuxième page en php qui faisait des requete SQL.

J'aimerais mettre tout le code sur une seule page. J'ai cru comprendre qu'on pouvait utiliser des fonctions. Et faire en sorte que la page soit rechargée et qu'elle exécute la fonction si on envoit le formulaire.

J'ai essayé ca :
<?
if(isSet($_POST))
inscription();



function inscription(){
extract($_POST,EXTR_OVERWRITE); 

echo $pseudo;
}

?>

<form action="<?php echo  $_SERVER['REQUEST_URI'].''.$_SERVER['QUERY_STRING']; ?>" method="POST">

Pseudo :<input type="text" name="pseudo"><br />
<input type="submit" value="S'incrire">
</form>

Mais isSet($_POST) renvoie tjrs TRUE même quand c'est le premier chargement de la page. Et donc il y a une erreur puisqu'à ce moment $pseudo n'est pas initialisé.



Comment faire pour que cela marche? Quelle est la manière correcte de procéder ?


info :
 echo  $_SERVER['REQUEST_URI'].''.$_SERVER['QUERY_STRING'];
sert à avoir l'URL de la page acutelle avec toutes les variables passées dans l'url.

et

extract($_POST,EXTR_OVERWRITE); crée toutes les variables passé dans un $_POST