IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pas d'action, tant que le formulaire n'est pas rempli


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Février 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2014
    Messages : 11
    Par défaut Pas d'action, tant que le formulaire n'est pas rempli
    Bonsoir
    Que manque-t-il au code suivant pour que l'on reste sur la page du formulaire "formulaire.php", tant que celui-ci n'est pas rempli ?
    Pourquoi ce code, au lieu de prendre en compte la condition préliminaire, ouvre-t-il tout de suite "reponse.php"?
    Quelqu'un peut-il m'aider ?

    formulaire.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?php
    if (!empty($_POST)) { 
    	extract($_POST);
    	$valid = true;							
    		if (empty($nom)) { $valid=false; $erreur_nom='Vous devez inscrire votre nom!'; }		
    	} 	
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>RESTER SUR LE FORMULAIRE OU ENVOYER LA REPONSE</title>
    </head>
    <body>
    <h3>Formulaire</h3> 
    	<form name="devis" method="POST" action="reponse.php">
    		Saisissez votre nom <input type="text" name="nom" />
    		<input type="submit" name="valider" value="Réponse">
    	</form>
    </body>
    </html>
    reponse.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>RESTER SUR LE FORMULAIRE OU ENVOYER LA REPONSE</title>
    </head>
     
    <body>
    <h3>Réponse</h3> 
    <?php
    	if (isset($_POST['valider'])) {
    		$nom = $_POST['nom'];
    		echo 'Salut '.$nom.'!';
    	}
    ?>
    </body>
    </html>

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Par défaut
    Le code PHP est exécuté au chargement de ta page. Donc, une fois chargée, il ne peux plus être interpréter. Si tu veux empêcher la validation du formulaire, il faut te pencher vers le JavaScript.

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Ou alors mettre ton code PHP en haut de la page reponse.php

  4. #4
    Membre habitué
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Février 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2014
    Messages : 11
    Par défaut
    Merci pour vos réponses
    mais, en utilisant Javascript dans ce cas précis, certains navigateurs n'afficheront-ils pas une Alerte demandant si l'on veut activer Javascript ? (J'évite toujours Javascript à cause de cela).
    Si vous me dites qu'il n'y a aucun risque, je tenterais Javascript après avoir essayé la solution de Spartacusply qui est probablement la plus simple.
    Alors : risque ou pas ?

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    L'un n'empêche pas l'autre. Dans tous les cas il te faudra une vérification côté serveur qui est indispensable du fait en effet que certains utilisateurs peuvent naviguer avec javascript désactivé justement.

    Après rien ne t'empêche de faire une vérification js également, c'est quand même plus agréable à la navigation (avec des effets sympas, des ptites infobulles qui clignotent, tousatousa quoi).

  6. #6
    Membre habitué
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Février 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2014
    Messages : 11
    Par défaut
    Merci, Spartacusply
    Je ne peux malheureusement pas me repencher sur le problème avant ce soir.
    Bonne journée

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Par défaut
    J'ajouterais que la simple vérification côté serveur, dans le cas d'une page de traitement différente, t'obligeras à remplir dynamiquement le formulaire, ou bien de proposer un formulaire vide en avertissant l'utilisateur qu'il y avait une erreur et que du coup, il doit remplir tous les champs à nouveau. Ergonomiquement, il est quand même préférable d'utiliser JS en amont.

Discussions similaires

  1. MySQL n'est pas reconnu en tant que commande interne
    Par momobulle dans le forum Installation
    Réponses: 4
    Dernier message: 14/03/2012, 22h58
  2. vba tant que cellule active n'est pas ma cellule
    Par elise1983 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/09/2008, 22h34
  3. Réponses: 2
    Dernier message: 01/04/2008, 13h22
  4. [Continuum] CVS n'est pas reconnu en tant que commande
    Par domyclas dans le forum Intégration Continue
    Réponses: 10
    Dernier message: 11/10/2007, 11h54
  5. Réponses: 2
    Dernier message: 01/11/2006, 22h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo