Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
869 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Test d'entrée de formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Test d'entrée de formulaire

n°614252
scien2fik
Posté le 17-01-2004 à 02:54:40  profilanswer
 

Salut!
j'ai fait un petit formulaire pour ajouter une entrée sur une base de données, et je voulais savoir comment faire pour tester si un certain champ à été rempli, et s'il n'a pas été rempli, le signaler à l'utilisateur... Merci

mood
Publicité
Posté le 17-01-2004 à 02:54:40  profilanswer
 

n°614253
Hermes le ​Messager
Breton Quiétiste
Posté le 17-01-2004 à 03:00:09  profilanswer
 

Tu as deux pages :
 
page 1 : le formulaire qui pointe vers la page 2.
page 2 : la page de traitement du formulaire qui dit que ça va, ou que ça va pas et renvoie vers la page 1 si ça va pas, ou vers une feuille 3 si tout s'est bien passé.
 
Dans la page 2, tu testes bêtement comme ça :
 

Code :
  1. if ($_POST['variable_recup_de_la_valeur'] == "" ){ echo"champ vide !!"; --> retour vers la page 1; }
  2. else
  3. {echo"super, merci !!"; --> aller page 3; }

n°614255
scien2fik
Posté le 17-01-2004 à 03:12:20  profilanswer
 

ok, je vois, mais comment renvoyer a la page 1 en cas d'erreur ou a la page 3 en cas de réussite?

n°614256
Hermes le ​Messager
Breton Quiétiste
Posté le 17-01-2004 à 03:15:51  profilanswer
 

rechercher sur header.

n°614257
scien2fik
Posté le 17-01-2004 à 03:19:41  profilanswer
 

par pitié!! je suis pas un vrai programmeur moi!! juste un bidouilleur! (et infographiste) ;)
c'est a dire le header?

n°614258
naceroth
Posté le 17-01-2004 à 03:28:33  profilanswer
 

Mouarf, marrant qu'Hermes soit le dieu des menteurs dans la mythologie :D
 
Bref, la solution de notre dieu est presque bonne, sauf que tu ne peux pas faire de redirection après un echo :)
 
Donc :
page 1 : le form qui pointe vers la page de test (page 2 si t'es pas trop sûr, page 1 elle-même si t'as l'habitude)
page 2 : le test

Code :
  1. if ($_POST['var'] == '') {
  2.    header("location:page1.php?err=yes" );
  3. } else {
  4. //traitement
  5. }


 
Dans page 1, tu dois juste vérifier si $_POST['err'] existe et si oui afficher ton message d'erreur :

Code :
  1. if (isset($_POST['err'])) {
  2.   echo 'champs vide';
  3. }

n°614259
scien2fik
Posté le 17-01-2004 à 03:49:14  profilanswer
 

merci beaucoup! ça marche!
mais dis moi, ya plusieurs champs a remplir. est-ce qu'il est possible de garder les valeur des champs qui ont été entrées, après que le script ai affiché "champ vide"? afin d'éviter à l'utilisateur de re-rentrer tous les champs s'il a fait une erreur...

n°614372
scien2fik
Posté le 17-01-2004 à 14:39:54  profilanswer
 

Personne?

n°614412
Hermes le ​Messager
Breton Quiétiste
Posté le 17-01-2004 à 16:21:13  profilanswer
 

Scien2fik a écrit :

merci beaucoup! ça marche!
mais dis moi, ya plusieurs champs a remplir. est-ce qu'il est possible de garder les valeur des champs qui ont été entrées, après que le script ai affiché "champ vide"? afin d'éviter à l'utilisateur de re-rentrer tous les champs s'il a fait une erreur...


 
oui avec des variables de sessions.
 
Au début de chaque page : session_start();
 
Dans ta page de traitement, si il manque des choses :
 
$_SESSION['nom_variable_pour_le_champ'] = $_POST['variable_du_champ'];
 
Et dans ta page du formulaire, par exemple :
 
<input type="text" name="nom_variable_a_envoyer" value="<?php echo $_SESSION['nom_variable_pour_le_champ']; ?>" />

n°614600
scien2fik
Posté le 17-01-2004 à 23:26:33  profilanswer
 

C'est parfait, ça marche mais le problème c'est que je sais pas comment fermer la session. A chaque fois que je reviens sur la page du formulaire, les anciennes données sont toujours mémorisées et même si je ferme la page et là réouvre, ça marche pas...

mood
Publicité
Posté le 17-01-2004 à 23:26:33  profilanswer
 

n°614618
scien2fik
Posté le 18-01-2004 à 00:33:57  profilanswer
 

Désolé d'être aussi vérace mais je débute...
quand je rentre un champ avec une apostrophe, il me le prend pas comme si c'étais une erreur de syntaxe dans INSERT INTO :
l'ariege => 'l'ariege' , ...

n°614638
scien2fik
Posté le 18-01-2004 à 02:29:30  profilanswer
 

ah! j'ai trouvé pour le probleme d'apostrophe!
mais pas pour le probleme de session...

n°614640
Hermes le ​Messager
Breton Quiétiste
Posté le 18-01-2004 à 02:34:39  profilanswer
 

Scien2fik a écrit :

ah! j'ai trouvé pour le probleme d'apostrophe!
mais pas pour le probleme de session...


 
Quand le résultat de tes champs est accepté, il te suffit de faire par exemple : $_SESSION['ma_variable'] = "";


Message édité par Hermes le Messager le 18-01-2004 à 02:34:50
n°614646
naceroth
Posté le 18-01-2004 à 02:39:53  profilanswer
 

Scien2fik a écrit :

C'est parfait, ça marche mais le problème c'est que je sais pas comment fermer la session. A chaque fois que je reviens sur la page du formulaire, les anciennes données sont toujours mémorisées et même si je ferme la page et là réouvre, ça marche pas...


 
Ne ferme pas la session mais détruit les variables de session concernée
 

Code :
  1. unset($_SESSION['ta_variable'])

n°614647
Hermes le ​Messager
Breton Quiétiste
Posté le 18-01-2004 à 02:42:21  profilanswer
 

naceroth a écrit :


 
Ne ferme pas la session mais détruit les variables de session concernée
 

Code :
  1. unset($_SESSION['ta_variable'])




 
unset ne marche plus...

n°614657
naceroth
Posté le 18-01-2004 à 02:49:24  profilanswer
 

depuis quand ?
 
('fin là chez moi il fonctionne toujours, et selon le manuel aussi)


Message édité par naceroth le 18-01-2004 à 02:52:23
n°614659
Hermes le ​Messager
Breton Quiétiste
Posté le 18-01-2004 à 02:54:09  profilanswer
 

naceroth a écrit :

depuis quand ?
 
('fin là chez moi il fonctionne toujours, et selon le manuel aussi)


 
En fait, si ça marche encore... J'ai confondu avec le problème suivant :
 

Citation :

unset() détruit les variables var. Notez qu'en PHP 3, unset() retournait toujours TRUE (en fait, la valeur entière 1). unset() n'est plus une véritable fonction : c'est une structure du langage, ce qui fait qu'elle ne retourne pas de valeur.

n°614702
scien2fik
Posté le 18-01-2004 à 05:14:58  profilanswer
 

pinaise! vous êtes des pros! ;)
je crois que c'est bon, tout marche! merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Test d'entrée de formulaire

 

Sujets relatifs
[ASP.NET] Authentification par formulaire[HTML] formulaire de modif avec liste déroulante
Formulaire HTMLPoster un formulaire vers 2 destinations.
[PHP] Récupération de valeurs de checkboxes pour formulaire POSTProb avec la touche "entrée" pour formulaire PHP ou HTML ?
[SQLUNIT] Je découvre. Pourquoi ce test débile ne veut-il pas marcher?[PHP] Comment savoir si ma page est appelé par un formulaire ?
[PHP] connaitre l'ip depuis laquelle un formulaire est posté 
Plus de sujets relatifs à : Test d'entrée de formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR