Daragott
Messages postés139Date d'inscriptiondimanche 29 octobre 2006StatutMembreDernière intervention10 octobre 2019
-
Modifié par Daragott le 24/02/2013 à 00:43
Utilisateur anonyme -
25 févr. 2013 à 09:06
Bonjour,
Je travaille sur un formulaire de contact et j'si ce fichu problème de champs obligatoires. IL y a déja 2 champs obligatories a emplir sur le formulaire. J'ai copier ces memes codes et les ai modifié pour que ca fonctionne pour les autres chaps que je veux rendre obligatoires, message et les 3 champs photos. Rien ne fonctionne. J'ai trouvé quantité de codes sur le web et ici sur ce site web, mais aucun ne me rends les champs obligatoires.
Voici la page de ce formulaire: http://x-centricmodels.com/contact/contactform.php
Voici une partie du code:
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<p><center><b><i>Registration is under approval. Fillup this form completely. If you are accepted, you will receive by email the link for the registration. Thank you.</b></i></center></p>
</fieldset>
</form></center>
<!-- client-side Form Validations:
Uses the excellent form validation script from JavaScript-coder.com-->
<script type='text/javascript'>
// <![CDATA[
var frmvalidator = new Validator("contactus");
frmvalidator.EnableOnPageErrorDisplay();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("name","req","Please provide your name");
frmvalidator.addValidation("email","req","Please provide your email address");
frmvalidator.addValidation("email","email","Please provide a valid email address");
frmvalidator.addValidation("message","maxlen=2048","The message is too long!(more than 2KB!)");
Pour commencer, je me dois de te parler de l'HTML5, ce n'est pas une obligation, mais je trouve que ça va bien avec ton sujet donc voila...
Par exemple :
<input type="email" name="user_email">
Si j'entre pas une adresse mél valide, le champs se met en rouge, ça permet aussi une meilleure compatibilité avec les navigateurs mobiles qui vont afficher l'arobase à porté de main...
---
Maintenant pour ton problème, le code que tu montres ne contient que du HTML et JAVASCRIPT, hors tu demandes de l'aide en PHP si j'ai bien compris ?
Daragott
Messages postés139Date d'inscriptiondimanche 29 octobre 2006StatutMembreDernière intervention10 octobre 20194 24 févr. 2013 à 16:52
Bonjour et merci pour ta réponse. Ceci est le fichier principal qui permet d'afficher la page ''contact''. dont le lien dans mon premier message.
Les 2 premiers champs ''Your Full Name et Email Address*'' sont déja paramétré dans ce fichier pour etre obligatoire. Si on essai d'envoyer un mail sans remplir l'un de ces 2 champs, on a un message qui nous demande de les remplir. Moi ce que je voudrais c'est que le champ ''Message, Photos 1-2 et 3'' deviennent aussi obligatoire a remplir.
J'ai déja ajouté les astérisques comme tu vois, sauf que je sait qu'il y a autre chose a ajouter comme code pour que ca devienne obligatoire, mais je ne trouve pas ce que je dois ajouté et ou l'ajouté.
Après ''var frmvalidator = new Validator("contactus");
frmvalidator.EnableOnPageErrorDisplay();
frmvalidator.EnableMsgsTogether();''
Ajouté les commandes suivantes:
frmvalidator.addValidation("message","req","Please tell us about you");
frmvalidator.addValidation("photo","req","Please, upload a clear photo");
frmvalidator.addValidation("newupload","req","Please, upload a clear photo");
frmvalidator.addValidation("newupload2","req","Please, upload a clear photo");
Aussi simple que cela. Je me rappelle qu'un programmeur m'avait déja dit de ne pas essayer de révinté le monde mais de se servir de ce qui existait et de le modifié selon mes besoins. :)
Je vais finir avec un commentaire...
Ce que je vois là, c'est du javascript, le javascript c'est très bien, je l'utilise pour mes formulaires, avec le HTML5, ça permet de ne pas surcharger mon serveur. Quand quelqu'un valide le formulaire, il est vérifié et soumit s'il n'y a pas d'erreurs. Mais il faut savoir que le javascript ou l'HTML5, tous les navigateurs ne le supporte pas, de plus il est désactivable et enfin, je peux aussi modifier le code source de ta page en local (autrement dis les modifications reste sur mon ordinateur) pour supprimer ou modifier le javascript ou l'HTML5. Si je suis dans un des cas suivant, alors les sécurité javascript et HTML5 tombent à l'eau. Si le formulaire est vraiment important, c'est mauvais.
Il faut donc vérifier le formulaire en PHP ou dans le langage qui va te servir à traiter les données. Le javascript et l'HTML5 (optionnellement sont utile, ils te permettent de moins faire s'appelle au serveur, de moins consommé de bande passante, plus de fluidité pour le client...) mais il ne sont pas fiable, il faut donc un langage coté serveur.
En php, il faudrait vérifier que les champs ne sont pas vide via :
" if( !empty( $_POST[ 'email' ] ) ) ",
il faudrait aussi vérifier qu'il s'agit bien d'une adresse mél via
" if( preg_match( '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $_POST[ 'email' ] ) ) " ou encore :
" if( filter_var( $_POST[ 'email' ], FILTER_VALIDATE_EMAIL ) ) ".