Cherche script efficace pour contrôle validattion formulaire

Signaler
Messages postés
14
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
22 avril 2006
-
Messages postés
14
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
22 avril 2006
-
Voici mon problème le formulaire d'inscription a des scrips de contrôle pour valider un formulaire et celui-ci n'est pas très pertinent, il oublie de controler les boutons radio et de donner une alerte pour cocher l'une des case pour le sexe et biensur de temps en temps le reste.

ci quelqu'un a une solution très éfficace je suis preneur et je vous colle en dessous les codes des pages avec le javascript forminscrip. Ce que je veux changer sera en rouge. A vous de voir si c'est fesable, Je suis pas doué en asp.

Merci à vous et bonne année 2005.

Page Inscri_corp.htm

<html>
<head>
<title>Inscription</title>
<meta content= "ERIC DARD" name="Author" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<script language="JavaScript">
<!--
function check1()
{
if(document.forminscrip.H.checked == "1"){ document.forminscrip.SEXE.value="H"if(document.forminscrip.F.checked true){ return ( document.forminscrip.F.checkedfalse)}
}
else{document.forminscrip.SEXE.value=""}
}
function check2()
{
if(document.forminscrip.F.checked == "1"){ document.forminscrip.SEXE.value="F"if(document.forminscrip.H.checked true){ return (document.forminscrip.H.checkedfalse)}
}
else{document.forminscrip.SEXE.value=""}
}
function Validator(forminscrip)
{
if (forminscrip.SEXE.value== ""){
alert("Vous ete un homme ou une femme ?");
return (false);
}

if (forminscrip.PSEUDO.value == ""){
alert("Veuillez entrer votre "PSEUDO".");
document.forminscrip.PSEUDO.value="Votre pseudo";
document.forminscrip.PSEUDO.focus();
return (false);
}
else if (forminscrip.PSEUDO.value == "Votre pseudo"){
alert("Veuillez entrer votre "PSEUDO".");
document.forminscrip.PSEUDO.value="Votre pseudo";
document.forminscrip.PSEUDO.focus();
return (false);
}

if (forminscrip.EMAIL.value == "Votre E_mail"){
alert("Tapez une valeur pour le champ "EMAIL".");
forminscrip.EMAIL.focus();
return (false);
}
else {
txt=forminscrip.EMAIL.value;
if (txt.indexOf("@")<3){
alert("Je suis désolé. Cette adresse courriel semble mauvaise.\n"
+" Veuillez Entrer une adresse valide.");
document.forminscrip.EMAIL.value="Votre E_mail";
document.forminscrip.EMAIL.focus();
return false;
}
}
return true;
}
-->
</script>


<!-- envois -->
<form name="forminscrip" onsubmit="return Validator(this)" action="Inscription.asp" method="post" target="_self">

<table height="100%" cellspacing="5" cellpadding="0">

----,
</td>

----

<table cellspacing="0" cellpadding="0">

----,
</td>

<table>

----,

Homme
Femme
</td>

----

,

----

Pseudo,
,

----

E-mail,

</td>
</tr>
<tr>
<td colspan="2" height="20">
</td>
</tr>
<tr>
<td align="middle" colspan="2" height="20">
</td>
</tr>
<tr>
<td colspan="2">

Page inscription.asp

<%@ LANGUAGE="VBSCRIPT" %>
<% response.Buffer = True %>
<HTML>
<%
Dim PSEUDO
Dim MOTPAS

' Récupération des valeurs de login.htm
PSEUDO = request.form("Pseudo")
EMAIL = request.form("Email")
SEXE = request.form("Sexe")

%>
<!-- #include file="..\include\connexion_base.asp"-->
<%
' Requête
SQL = "SELECT * FROM TB_USERS WHERE PSEUDO='" & Pseudo & "';"
SET oRs = DbObj.Execute(SQL)
%>
<HEAD>
<TITLE>Inscription ...</TITLE>
<META NAME="Author" CONTENT="ERIC DARD">
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>

<% if oRs.EOF then%>

Votre inscription est prise en compte.
Merci de votre visite bon quiz

<%

SQL = "INSERT INTO TB_USERS " _
& "( PSEUDO, EMAIL, SEXE) " _
& "SELECT '" & Pseudo & "' AS Pseudo, '" _
& Email & "' AS Email, '" _
& sexe & "' AS Sexe;"
DbObj.Execute(SQL)

%>
<% else %>

Saisie incorrecte, veuillez recommencer












<% end if

oRs = Null
DbObj = Null
%>

</HTML>

8 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Faudrait plutot regarder du coté de chez Javascriptfr.com pour ta validation coté client.

et tu n'as aucune verification coté serveur dans ta page asp.
Si moi je decide de t'embeter, et je desactive javascript, je vais pouvoir poster ta form, et une fois dans ta page asp, ca va planter,
pire encore au niveau de la securité [:@] tu fais des injections directement dans du sql !!! c'est pas bon du tout ca, fait des procédures stockées ou alors controles tes données. Imagine qu'un petit malin pour s'amuser va sur ta page asp, mais avant il decide d'ecrire dans le header de sa requete, pour que quand tu recuperes ce que tu veux, request.forms("pseudo") tu obtiennes du code SQL, avec ta requete son code sql va s'executer, et en peu de temps tu peux te retrouver sans base de données.

Pour conclure, je te conseil, d'aller voir sur javascriptfr.com pour la validation coté client, ensuite coté serveur, rajoute juste

if not request.forms("") <> "" and not request.forms("") <> "" then
'execution de la procédure
else
'manque les params
end if

passe au procédures stockés

mais le conseil ultime serait de passer à asp.net qui lui verifie les données hyper simplement.

Cyril
Messages postés
14
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
22 avril 2006

Merci Cyril, mais je vois pas ou mettre ça et a quel paramètre je suis désolé, mais je suis un vieux débutant lol!.

Pour ce qui est de asp net cela serai bien , il me faut des exemples. J'y pense de refondre mon site entièrement en asp net , c'est pas moi qui le ferais j'ai peur de faire des bêtises.

Je vais trouver un developpeur professionnel et lui faire un cahier des charges pour que ce site soit comme je veux avec toutes les sécurités possible.

Nous avons repris ses pages d'un site de quiz et voila pourquoi c'est pas tout a fait au point, mais déjà pas mal.

Quand au fonctionnent de webmatrix il y a pas tellement d'exemples pour ce guider. Pour le script j'ai chercher sur javascriptfr.com passé deux nuit, je trouve pas ce que je veux arf!
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
jesusonline > remets ta reponse mais surtout laisse tout en texte brut, stp, on a trop d'ennuis avec la mise en forme et pas de temps en ce moment pour s'en occuper, merci.

ciao...
BruNews, MVP VC++
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
[Bon je t avais fais un joli petit message, mais il a planté img src=/imgs2/smile_sad.gif border=0 align= absmiddle br br j avais fait un exemple pour te montrer comment moi je gerais ce genre d erreur, bien sur je l ai supprimé .... br br Donc pour faire ca en asp.net il faut deux lignes. br la page aspx br < % @ Page language= VB %> br < html> br < head> br < title> Titre< /title> br < /head> br < body> br < form runat= server id= form1 > br < asp:TextBox id= TextBox2 runat= server /> < asp:Button id= Button1 runat= server Text= Button /> br < br/> br < asp:RequiredFieldValidator id= RequiredFieldValidator2 runat= server ErrorMessage= Message d erreur rouge ControlToValidate= TextBox2 /> br < /form> br < /body> br < /html> br br Je met juste ca, et j ai finit sur le client, le code qu asp.net va generer est different suivant les navigateurs, en gros IE et pas IE, si pas IE, il fait la verif coté serveur tout seul, sinon il y a pas mal de code . br br coté client, il suffit de faire ca : br if page.isvalid = true then br OK br end if br br Voici le rendu de la page ci dessus pour IE : br br br < html> br < head> br < title> Titre< /title> br < /head> br < body> br < form name= form1 method= post action= test.aspx language= onsubmit= ValidatorOnSubmit id= form1 > br < input type= hidden name= __VIEWSTATE value= dDwtMTI5NjE5NjEwNzs7PoOcVAt/18h 9hPUEyIMnEOJFGCR /> br br < script language= src= /aspnet_client/system_web/1_1_4322/WebUIValidation.js > < /script> br br br br < input name= TextBox2 type= text id= TextBox2 /> < input type= submit name= Button1 value= Button onclick= if typeof Page_ClientValidate == function Page_ClientValidate language= id= Button1 /> br < br/> br < span id= RequiredFieldValidator2 controltovalidate= TextBox2 errormessage= Message d erreur rouge evaluationfunction= RequiredFieldValidatorEvaluateIsValid initialvalue= style= color:Red visibility:hidden > Message d erreur rouge< /span> br br < script language= > br < !-- br var Page_Validators = new Array document.all[ RequiredFieldValidator2 Bon je t avais fais un joli petit message, mais il a planté img src=/imgs2/smile_sad.gif border=0 align= absmiddle br br j avais fait un exemple pour te montrer comment moi je gerais ce genre d erreur, bien sur je l ai supprimé .... br br Donc pour faire ca en asp.net il faut deux lignes. br la page aspx br < % @ Page language= VB %> br < html> br < head> br < title> Titre< /title> br < /head> br < body> br < form runat= server id= form1 > br < asp:TextBox id= TextBox2 runat= server /> < asp:Button id= Button1 runat= server Text= Button /> br < br/> br < asp:RequiredFieldValidator id= RequiredFieldValidator2 runat= server ErrorMessage= Message d erreur rouge ControlToValidate= TextBox2 /> br < /form> br < /body> br < /html> br br Je met juste ca, et j ai finit sur le client, le code qu asp.net va generer est different suivant les navigateurs, en gros IE et pas IE, si pas IE, il fait la verif coté serveur tout seul, sinon il y a pas mal de code . br br coté client, il suffit de faire ca : br if page.isvalid = true then br OK br end if br br Voici le rendu de la page ci dessus pour IE : br br br < html> br < head> br < title> Titre< /title> br < /head> br < body> br < form name= form1 method= post action= test.aspx language= onsubmit= ValidatorOnSubmit id= form1 > br < input type= hidden name= __VIEWSTATE value= dDwtMTI5NjE5NjEwNzs7PoOcVAt/18h 9hPUEyIMnEOJFGCR /> br br < script language= src= /aspnet_client/system_web/1_1_4322/WebUIValidation.js > < /script> br br br br < input name= TextBox2 type= text id= TextBox2 /> < input type= submit name= Button1 value= Button onclick= if typeof Page_ClientValidate == function Page_ClientValidate language= id= Button1 /> br < br/> br < span id= RequiredFieldValidator2 controltovalidate= TextBox2 errormessage= Message d erreur rouge evaluationfunction= RequiredFieldValidatorEvaluateIsValid initialvalue= style= color:Red visibility:hidden > Message d erreur rouge< /span> br br < script language= > br < !-- br var Page_Validators = new Array document.all[ RequiredFieldValidator2]);
// -->
</script>

<script language="javascript">
<!--
var Page_ValidationActive = false;
if (typeof(clientInformation) != "undefined" && clientInformation.appName.indexOf("Explorer") != -1) {
if (typeof(Page_ValidationVer) == "undefined")
alert("Impossible de trouver la bibliothèque de scripts /aspnet_client/system_web/1_1_4322/WebUIValidation.js. Essayez de placer ce fichier manuellement ou effectuez une réinstallation en exécutant 'aspnet_regiis -c'.");
else if (Page_ValidationVer != "125")
alert("Cette page utilise une version incorrecte de WebUIValidation.js. La page requiert la version 125. La bibliothèque de scripts est " + Page_ValidationVer + ".");
else
ValidatorOnLoad();
}

function ValidatorOnSubmit() {
if (Page_ValidationActive) {
ValidatorCommonOnSubmit();
}
}
// -->
</script>


</form>

</html>

pour le contenu de WebUIValidation.js recherche le sur le net, il est de partout, c'est un fichier asp.net par défaut, il doit meme etre sur cette page.

j'espere que cette fois ca va pas merder :D

Cyril
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
[Ca a encore merder img src=/imgs2/smile_big.gif border=0 align= absmiddle mais heureusement moins que tout à l heure. br br Donc je disais que je te montrais un exemple de comment je faisais pour asp.net, et je te montrais le code, mais ca a l air d etre ca qui merde img src=/imgs2/smile_sad.gif border=0 align= absmiddle br br Je te donne juste les grandes lignes du rendu pour la verification : br br < script language= src= /aspnet_client/system_web/1_1_4322/WebUIValidation.js > < /script> br br br br < input name= TextBox2 type= text id= TextBox2 /> < input type= submit name= Button1 value= Button onclick= if typeof Page_ClientValidate == function Page_ClientValidate language= id= Button1 /> br < br/> br < span id= RequiredFieldValidator2 controltovalidate= TextBox2 errormessage= Message d erreur rouge evaluationfunction= RequiredFieldValidatorEvaluateIsValid initialvalue= style= color:Red visibility:hidden > Message d erreur rouge< /span> br br < script language= > br < !-- br var Page_Validators = new Array document.all[ RequiredFieldValidator2 Ca a encore merder img src=/imgs2/smile_big.gif border=0 align= absmiddle mais heureusement moins que tout à l heure. br br Donc je disais que je te montrais un exemple de comment je faisais pour asp.net, et je te montrais le code, mais ca a l air d etre ca qui merde img src=/imgs2/smile_sad.gif border=0 align= absmiddle br br Je te donne juste les grandes lignes du rendu pour la verification : br br < script language= src= /aspnet_client/system_web/1_1_4322/WebUIValidation.js > < /script> br br br br < input name= TextBox2 type= text id= TextBox2 /> < input type= submit name= Button1 value= Button onclick= if typeof Page_ClientValidate == function Page_ClientValidate language= id= Button1 /> br < br/> br < span id= RequiredFieldValidator2 controltovalidate= TextBox2 errormessage= Message d erreur rouge evaluationfunction= RequiredFieldValidatorEvaluateIsValid initialvalue= style= color:Red visibility:hidden > Message d erreur rouge< /span> br br < script language= > br < !-- br var Page_Validators = new Array document.all[ RequiredFieldValidator2]);
// -->
</script>

<script language="javascript">
<!--
var Page_ValidationActive = false;
if (typeof(clientInformation) != "undefined" && clientInformation.appName.indexOf("Explorer") != -1) {
if (typeof(Page_ValidationVer) == "undefined")
alert("Impossible de trouver la bibliothèque de scripts /aspnet_client/system_web/1_1_4322/WebUIValidation.js. Essayez de placer ce fichier manuellement ou effectuez une réinstallation en exécutant 'aspnet_regiis -c'.");
else if (Page_ValidationVer != "125")
alert("Cette page utilise une version incorrecte de WebUIValidation.js. La page requiert la version 125. La bibliothèque de scripts est " + Page_ValidationVer + ".");
else
ValidatorOnLoad();
}

function ValidatorOnSubmit() {
if (Page_ValidationActive) {
ValidatorCommonOnSubmit();
}
}
// -->
</script>


Je tente la partie la plus interessante du code, si ca plante tant pis !

Cyril
Messages postés
14
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
22 avril 2006

T'inquiéte pasje ferais un copier collé de tout ça Cyril et un grand merci pour ta gentillesse.

J'ai commandé des livres chez eyrolles pour voir un peu mieux l'asp net

Bonne fêtes à toi
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
mouarf en bouquin, t'aurais du me demander avant. pour debuter asp.net

il te faut le bouquin de R.clark : Introduction à asp.net , c'est sur celui la que j'ai debuté, c'est un excellent livre et en plus il est presque donné une dizaine d'€uro seulement.

pour le message, j'ai abandonné, comme le dit BruNews il y a l'air d'avoir des petits soucis en ce moment, je pense pas que tu vas t'en tirer avec des copiers coller il en manque des bouts.

Si ca t'interesse, de voir le code contacts moi par message privé.

pour la validation via asp.net il me semble qu'il y a un exemple dans les sources.

Cyril
Messages postés
14
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
22 avril 2006

d"accord je ni manquerais pas