Valider un formulaire
Une question qui revient souvent dans les forums !
Le test est fait sur la machine client, via JavaScript, afin d'éviter d'encombrer inutilement le serveur... les champs sont émis ensuite par la
méthode "Post" et leur contenu récupéré par cette même page à son réaffichage !
Remarque : L'avantage de cette méthode est de n'utiliser qu'une seule page !
Le détail de la fonction sendMail ?
<% ' Exemple ASP pour mail() URL = Request.ServerVariables("SCRIPT_NAME")%> <!-- #include file="_mail.asp"--> <HTML><HEAD><TITLE>Exemple</TITLE> </HEAD><BODY bgcolor=#FFFFCC> <TABLE width=100% height=100%><TR><TH><% if Request.Form("comment")<>"" then Nom = Request.Form("nom") : NomT = Nom Mail = Request.Form("mail") : MailT = Mail Sujet = "Exemple d'application ASP pour mail()" Body = Request.Form("comment") & VbCrLf _ & VbCrLf & "www.asp-php.net" & VbCrLf if sendMail(Nom,Mail,NomT,MailT,Sujet,Body) then %> Votre message est bien parti ! <% else %> Désolé, le serveur n'est pas disponible ! <% end if else %> <script language="JavaScript"><!-- function verif(email) { var arobase = email.indexOf("@") var point = email.lastIndexOf(".") if((arobase < 3)||(point + 2 > email.length) ||(point < arobase+3)) return false return true } function testform(nom,mail) { if(nom.value=="") { alert("Un nom est requis !") nom.focus(); return false } if(!verif(mail.value)) { alert("Email invalide !"); mail.value="" mail.focus(); return false } return true } //--></script> <FORM method="post" action="<%=URL%> " onSubmit="return testform(this.nom,this.mail)"> <TABLE> <TR> <TH> Nom<BR><INPUT type="text" name="nom"> </TH><TH> E-mail<BR><INPUT type="text" name="mail"> </TH> </TR><TR> <TH colspan=2>Message<BR> <TEXTAREA name="comment" cols=40 rows=5></TEXTAREA> </TH> </TR><TR> <TH colspan=2> <BR><INPUT type="Submit" value="Envoyer"> </TH> </TR> </TABLE> </FORM><% end if %> </TH></TR></TABLE> </BODY></HTML>
<? // Exemple PHP pour mail() $URL = $PHP_SELF;include("_mail.php") ; ?> <HTML><HEAD><TITLE>Exemple</TITLE> </HEAD><BODY bgcolor=#FFFFCC> <TABLE width=100% height=100%><TR><TH><? if(isset($comment)) { $nomT = $nom; // envoi à l'émetteur $mailT = $mail; // dans cet exemple ! $sujet = "Exemple d'application PHP pour mail()"; $body = $comment."\n\nwww.asp-php.net\n"; if(sendMail($nom,$mail,$nomT,$mailT,$sujet,$body)) { ?> Votre message est bien parti ! <? } else { ?> Désolé, le serveur n'est pas disponible ! <? } } else { ?> <script language="JavaScript"><!-- function verif(email) { var arobase = email.indexOf("@") var point = email.lastIndexOf(".") if((arobase < 3)||(point + 2 > email.length) ||(point < arobase+3)) return false return true } function testform(nom,mail) { if(nom.value=="") { alert("Un nom est requis !") nom.focus(); return false } if(!verif(mail.value)) { alert("Email invalide !"); mail.value="" mail.focus(); return false } return true } //--></script> <FORM method="post" action="<? echo $URL; ?> " onSubmit="return testform(this.nom,this.mail)"> <TABLE> <TR> <TH> Nom<BR><INPUT type="text" name="nom"> </TH><TH> E-mail<BR><INPUT type="text" name="mail"> </TH> </TR><TR> <TH colspan=2>Message<BR> <TEXTAREA name="comment" cols=40 rows=5></TEXTAREA> </TH> </TR><TR> <TH colspan=2> <BR><INPUT type="Submit" value="Envoyer"> </TH> </TR> </TABLE> </FORM><? } ?> </TH></TR></TABLE> </BODY></HTML>
Enjoy !
Didier le
12/10/2002
(60 201 hits)
Au fil des news Magazines - Le N°128 de Programmez est disponible Magazines - Le N°127 de Programmez est disponible Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6 Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ... Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1 JavaScript - Ajouter une page dans vos favorites Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 - Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ... SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ... Magazines - Le n°126 de Programmez est disponible Outils - Traducteur en ligne automatique pour site web Adobe - Adobe Photoshop.com Mobile pour Iphone Magazines - Le n°125 de Programmez est disponible Adobe - Adobe AIR 2 et Flash Player 10.1version bêta Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ... Magazines - Le n°124 de Programmez est disponible PHP - Forum PHP 2009 Composants - eFace - XAML en Java WPF - Désactiver le bouton de réduction d'une fenêtre Magazines - Le n°123 de Programmez est disponible Magazines - Le n°122 de Programmez est disponible Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ... SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0 Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ... Magazines - Le HS N° 1 de Web Design est disponible Adobe - Adobe propose en Open Source les frameworks..... Outils - EntityBuilder CSharp - Sérialisation XML de vos objets Magazines - Le n°121 de Programmez est disponible Adobe - Adobe annonce MAX 2009 ! Outils - WhoIs [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3 Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ... PHP - News avec photo - Système de gestion - affichage Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ... Outils - Crypt Dreamweaver Php Mysql - Région répétée imbriquée Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ... Magazines - Le n° 120 de Programmez est disponible Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ... PHP - Le Coach PHP sur Visual Studio .NET - Ecrire une application .NET utilisant MySQL PHP - Utilisation de PHP dans le monde Microsoft Magazines - Le n° 119 de Programmez est disponible Adobe - Adobe annonce Photoshop Marketplace [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0 Mis à jour le 20/04/2009