Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2007, 22h45   #1
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Par défaut Mon formulaire a-t-il été envoyé ?

Bonjour,

peut-on savoir si un formulaire a été envoyé ?
Auparavant, je nommais le bouton submit et je vérifiais qu'il ait bien été cliqué, mais on peut aussi envoyer un formulaire en faisant [enter] à partir d'un élément input, donc sans cliquer sur le bouton d'envoi.

J'utilise un champ caché. ca marche.

Existe-t-il une solution en nommant le formulaire lui-même par exemple ?

Par avance, merci de votre aide.
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 22h48   #2
Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 61
Points : 61
Pour tester si le formulaire a été envoyé tu peux tester si un champ est "initialisé" (je ne connais pas la traduction exacte de set dans ce contexte).



Code :
if ( isset ( $_POST['nom_du_champ'] ) )
Et pour infos, la doc de la fonction isset()
Christophe_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 22h54   #3
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
C'est l'oeuf de Christophe Colomb, ton truc !

Merci.
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 23h00   #4
Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 61
Points : 61
Petite précision, la fonction isset() teste si une valeur est affectée à la variable passée en paramètre.

Les formulaires affectent toujours une valeur aux variables $_POST même si l'utilisateur n'a rien saisi dans le champ désigné.

C'est donc l'idéal pour tester si un formulaire a été envoyé, mais pour tester si l'utilisateur a saisi quelque chose on préfèrera :

Code :
if ( !empty($_POST['nom_du_champ']) )
Christophe_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 09h35   #5
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Encore plus efficace, puisque valable avec n'importe quel formulaire en méthode POST :
Code :
1
2
3
4
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
   // ...
}

__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 21h28   #6
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Merci à toi pour cette astuce : ça a l'air sacrément efficace.
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2008, 16h00   #7
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Citation:
Envoyé par Yogui Voir le message
Salut

Encore plus efficace, puisque valable avec n'importe quel formulaire en méthode POST :
Code :
1
2
3
4
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
   // ...
}
Dans mon formulaire, j'ai 2 cas :
1- le formulaire est envoyé, alors ta technique fonctionne très bien et je déclenche un update de ma bdd
2- le formulaire N'est PAS envoyé, alors je déclenche un SELECT.

Ma question : comment fait-on pour vérifier que le formulaire n'a pas été envoyé, hormis en mettant la 1° procédure en claude IF et la 2° procédure en clause ELSE ?
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2008, 21h01   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Citation:
Envoyé par php_de_travers Voir le message
Ma question : comment fait-on pour vérifier que le formulaire n'a pas été envoyé, hormis en mettant la 1° procédure en claude IF et la 2° procédure en clause ELSE ?
Pour ma part, je ne vois pas de méthode plus simple que cela.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2008, 09h27   #9
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Ok, merci.
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h46.


 
 
 
 
Partenaires

Hébergement Web