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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Formulaire - Vérification Javascript & Envoi en PHP

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire - Vérification Javascript & Envoi en PHP

n°2143398
Tehemgi
J'aime le père de Tintin...
Posté le 23-05-2012 à 12:11:53  profilanswer
 

:hello: Hello,
 
Je cherche à créer un formulaire du type :
 
<form method="post" action="envoi.php">
 
en faisant, dans la partie <head>, un code javascript de vérification des champs (nom, adresse, mail, tel)
 
Il faudrait :
- qu'après l'alerte de non-remplissage (ou de mauvais remplissage) de champ obligatoire, le formulaire ne soit tout de même pas envoyé...
- que ne figurent sur le mail que le résultat des champs remplis et que les autres soient masqués (il y a beaucoup plus de champs que ceux cités précédemment)
 
Quelqu'un peut-il m'aider ?  :bounce:  
 
Merci d'avance  :)

mood
Publicité
Posté le 23-05-2012 à 12:11:53  profilanswer
 

n°2143405
Tehemgi
J'aime le père de Tintin...
Posté le 23-05-2012 à 14:00:03  profilanswer
 

Pour info, le code php appelé par le formulaire est le suivant :
 

Code :
  1. <?php
  2. $TO = "jmtellier@a2mpack.com";
  3. $h  = "From: " . $TO;
  4. $message = "";
  5. while (list($key, $val) = each($HTTP_POST_VARS)) {
  6.   $message .= "$key : $val\n";
  7. }
  8. mail($TO, $Sujet, $message, $h);
  9. Header("Location: merci.htm" );
  10. ?>

n°2143411
rufo
Pas me confondre avec Lycos!
Posté le 23-05-2012 à 15:16:26  profilanswer
 

Tu ferais mieux d'utiliser $_POST plutôt que $HTTP_POST_VARS.
 
Pour ta question, ben tu peux déjà faire sur l'événement onsubmit de la balise form une vérif (via une fonction) qui vérifiera si tous les champs du formulaire sont remplis correctement. Si tout est ok, la fonction renvoie true, sinon false et affiche le ou les msg d'erreurs qui vont bien.
 
Côté serveur, idem, sur le contenu de $_POST. Si tout le contenu est ok, on envoie le mail, sinon, on réaffiche le formulaire avec les msg d'erreurs.
 
Pour le contenu du mail, ben tu mets dans une variable de type tableau associatif, que les éléments de $_POST qui sont pas vides...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2143414
Tehemgi
J'aime le père de Tintin...
Posté le 23-05-2012 à 15:34:51  profilanswer
 

Merci pour ta réponse rufo.
 
Malheureusement, je ne suis pas un pro, et le code php, ce n'est pas moi qui l'ai créé. Je l'ai juste récupéré.
 
Donc ok pour mettre les éléments de $_POST dans une variable de type tableau associatif, mais je ne sais pas comment faire.
Je ne sais même pas ce qu'est cette variable...  :??:
 
En ce qui concerne la vérification je passe par un code javascript.
 
J'avais bien le code php suivant :

Code :
  1. if (empty($_POST['nom']))
  2. {
  3. echo'Veuillez indiquer votre nom';
  4. exit();
  5. }
  6. if (empty($_POST['mail']))
  7. {
  8. echo'Veuillez indiquer votre adresse mail';
  9. exit();
  10. }


 
mais on m'a dit que pour une vérification de champ, il valait mieux passer par du javascript que du php... :??:


Message édité par Tehemgi le 23-05-2012 à 15:51:38
n°2143433
rufo
Pas me confondre avec Lycos!
Posté le 23-05-2012 à 16:27:48  profilanswer
 

"il valait mieux passer par du javascript que du php."
 
-> absolument faux d'un point de vue sécurité. Javascript pouvant être désactivé côté client, il faut toujours faire une vérif côté serveur. La vérif côté client ajoute simplement plus d'ergonomie.
 
Pour ton code php, faut pas faire de exit() : ça arrête brutalement le script, donc pas sûr que la page web résultante soit affichée avec tout ce qu'il faut :/
 
Plus généralement, ici, on ne te fera pas le boulot à ta place. On te donnera des pistes, mais ça sera à toi de mouiller le maillot. Sur le web, y'a pleins de tutos pour se mettre au php, js...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2143507
Tehemgi
J'aime le père de Tintin...
Posté le 24-05-2012 à 09:45:41  profilanswer
 

Ok, mais dis-moi au moins par quoi remplacer exit() car je suis pris par le temps... :)

n°2143522
rufo
Pas me confondre avec Lycos!
Posté le 24-05-2012 à 10:57:49  profilanswer
 

tu le remplaces par une variable qui indiquera que le script a rencontré une erreur sur la validité des données du formulaire.
 
Perso, je doute que l'emplacement de l'affichage des messages d'erreur soit judicieux. Tu devrais plutôt les stocker dans un tableau associatif (clé = champ, valeur = msg d'erreur). Si le tableau est vide, pas d'erreur, tu continues le traitement, sinon, t'affiches les msgs d'erreur aux endroits appropriés (généralement proche de chaque champ concerné par une erreur).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2143526
pop-pan
yay!
Posté le 24-05-2012 à 11:21:17  profilanswer
 

prends un script existant, ca sert a rien de reinventer la roue.
au pif dans google "form validator php"
http://www.html-form-guide.com/php [...] ation.html
tu remplace "php" par "javascript" et tu tombera sur des validators js


---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
n°2143552
Tehemgi
J'aime le père de Tintin...
Posté le 24-05-2012 à 14:47:42  profilanswer
 

J'ai essayé de remplacer

Code :
  1. while (list($key, $val) = each($_POST)) {
  2.   $message .= "$key : $val\n";
  3. }


par

Code :
  1. foreach($_POST as $key => $val){}


Mais là, dans le mail, rien ne s'affiche.
Je pense qu'il doit me manquer une variable... :non:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Formulaire - Vérification Javascript & Envoi en PHP

 

Sujets relatifs
Script Javascript - Fond d'une partie du siteInsérer une page dans formulaire d'inscription
aide pour contrôle en javascript svpPetite question PHP, noob :)
formulaire Php[PHP] extraire des données d'une page html
Fan Gate Facebook et API PHPplusieur TCD sur le même formulaire access
Diaporama flash ou javascript ? 
Plus de sujets relatifs à : Formulaire - Vérification Javascript & Envoi en PHP


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