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 :

Analyse de champs de formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut Analyse de champs de formulaire
    Bonjour,

    J'ai un formulaire en post avec un bouton submit qui envoi des donné de champ en e-mail et je souhaiterai que si l'utilisateur clique sur le bouton submit et qu'il n'a pas tout rempli les champs rien ne se passe, car j'ai utilisé la fonction required/ mais pour des navigateur un peu trop ancien ça ne prend pas en compte et donc envoi 0 valeur des champs en e-mail.

    Voici donc un extrait de mon code

    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
    23
    24
    25
    form name="informations" action="formulaire.php" method="post"> 
    	<p>
    		<label for="societe">Société :</label>
    		<input type="text" name="societe" id="societe" autofocus required/>
    		<br />
    		<br />
    		<label for="nom">Nom :</label>
    		<input type="text" name="nom" id="nom" required/>
    		<br />
    		<br />			
    		<input type="submit" name="valider" value="Ok" 
     
    <?php	
    if(isset($_POST['valider']))
    {		
    	$nom = $_POST['nom'];
    	$societe = $_POST['societe']; 
    	$to = "monmail@monmail.com";	
    	$subject = "M. ou Mme" . $nom . "de la société" . $societe;
    	$message = "Ce message apparait car une personne a fait une demande";
    	$from = "noreply@dde.com"; 
    	$headers = "From:" .$from; 			
    	mail($to,$subject,$message,$headers);			
    }	
    ?>
    Quelqu'un pourrait il m'aider, merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut


    Attribut required ou pas, tu dois toujours vérifier côté serveur la présence et le bon format des données reçues, c'est le B.A.BA de la gestion des formulaires et accessoirement de la sécurité !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut
    Je suis entièrement d'accord, serait il possible d'avoir une réponse qui m'aide d'avantage

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    2 choses, la première on t'a répondu pour la partie serveur. a toi de faire des tests et de nous montrer éventuellement ton code si tu rencontres des soucis (par ce que là en dehors de faire nom = nom, adresse = adresse .... et pif paf c'est partie tu fait pas grand chose)
    donc améliorer d'une part ton code php.

    2eme choses, il faut bien te dire que la vérification côté serveur veux forcément dire que ton formulaire à été envoyé donc si tu souhaite que rien ne se passe réellement il faudrait éventuellement en complément de ton test en php ajouter de la vérification de formulaire en javascript en amont.

    donc en gros sur un onsubmit() fare la vérification si tout est ok alors le formulaire part si rien ne va tu affiche un message d'erreur ou autre.

    donc vérification si uniquement alphanumérique pour les champs de regex pour l'adresse mail etc ....
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2013
    Messages : 32
    Par défaut
    Tu peux faire un If isset pour chaque donnée récupérer
    Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset ($_POST['societe'])) $societe = $_POST['societe'];
    				else		$societer="";
    Après je ne sais pas si c'est cela que tu cherche.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    En règle générale, un !empty() est préférable à un isset().
    Ensuite, il faut aussi vérifier que chaque paramètre reçoit bien un format cohérent.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut
    Merci pour vos réponses, je vais travailler sur le !empty().

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester si un champ de formulaire est vide
    Par pekka77 dans le forum ASP
    Réponses: 3
    Dernier message: 28/06/2005, 17h18
  2. Champ de formulaire "file"
    Par tom06440 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/05/2005, 14h56
  3. [Word] Création d'un champs de formulaire
    Par Oberown dans le forum Word
    Réponses: 2
    Dernier message: 18/04/2005, 12h10
  4. Réponses: 2
    Dernier message: 28/10/2004, 17h54
  5. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 14h06

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