Problème de formulaire

Signaler
Messages postés
25
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
11 juin 2006
-
Messages postés
25
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
11 juin 2006
-
Bonjour,
Je n'arrive pas à rajuster un enregistrement à ma base de données Access à l'aide du formulaire dont le code se trouve ci-dessous.
Merci pour votre aide
Michèle

<html>
<head>
<meta NAME= "GENERATOR" Content="Microsoft Visual Studio 6.0">
<title></title>
</head>

Inscription compétiteur

<!--webbot BOT ="GeneratedScript" PREVIEW=" " startspan --><script Language="JavaScript"><!--
function FrontPage_Form1_Validator(theForm)
{

if (theForm.Classement.selectedIndex < 0)
{
alert("Sélectionnez une des options "Classement".");
theForm.Classement.focus();
return (false);
}

var numSelected = 0;
var i;
for (i = 0; i < theForm.Classement.length; i++)
{
if (theForm.Classement.options[i].selected)
numSelected++;
}
if (numSelected > 50)
{
alert("Sélectionnez au plus 50 des "Classement" options.");
theForm.Classement.focus();
return (false);
}

if (theForm.Licence.value == "")
{
alert("Tapez une valeur pour le champ "Licence".");
theForm.Licence.focus();
return (false);
}

if (theForm.Licence.value.length > 50)
{
alert("Tapez au plus 50 caractères dans le champ "Licence".");
theForm.Licence.focus();
return (false);
}

var radioSelected = false;
for (i = 0; i < theForm.Sexe.length; i++)
{
if (theForm.Sexe[i].checked)
radioSelected = true;
}
if (!radioSelected)
{
alert("Sélectionnez une des options "Sexe".");
return (false);
}

if (theForm.MotDePasse.value == "")
{
alert("Tapez une valeur pour le champ "MotDePasse".");
theForm.MotDePasse.focus();
return (false);
}

if (theForm.MotDePasse.value.length > 50)
{
alert("Tapez au plus 50 caractères dans le champ "MotDePasse".");
theForm.MotDePasse.focus();
return (false);
}
return (true);
}
//--></script><!--webbot BOT="GeneratedScript" endspan --><form method="post" action="AjoutCompétiteur.asp" onsubmit="return FrontPage_Form1_Validator(this)" name="FrontPage_Form1">
<center>
Inscription compétiteur,

----

Nom,
,

----

Prénom,
,

----

Classement,
<!--webbot bot="Validation" B-Value-Required="TRUE" I-Maximum-Length="50" --><select name="Classement"> <option value="0" selected>NC</option> <option value="5">30/5</option> <option value="10">30/4</option> <option value="20">30/3</option> <option value="30">30/2</option> <option value="50">30/1</option> <option value="80">30</option> <option value="120">15/5</option> <option value="160">15/4</option> <option value="200">15/3</option> <option value="240">15/2</option> <option value="280">15/1</option> <option value="330">15</option> <option value="370">5/6</option> <option value="410">4/6</option> <option value="450">3/6</option> <option value="490">2/6</option> <option value="530">1/6</option> <option value="570">0</option> <option value="620">-2/6</option> <option value="660">-4/6</option> <option value="700">-15</option> <option value="740">-30</option> <option value="780">Promotion</option> <option value="840">1ère
Serie</option></select>,

----

Licence,
<!--webbot bot="Validation" B-Value-Required="TRUE" I-Maximum-Length="50" -->,

----

Sexe,
<!--webbot bot="Validation" B-Value-Required="TRUE" I-Maximum-Length="50" -->Homme Dame ,

----

MotDePasse,
<!--webbot bot="Validation" B-Value-Required="TRUE" I-Maximum-Length="50" -->,

----

</center>
</form>
<%@ Language=VBScript %>
<%Option Explicit%>
<!--#include file="ConnexionDB.asp"-->
<%
dim objRS
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "joueur",ObjCn,adOpenDynamic,adLockOptimistic
objRS.AddNew
objRS("nom") = Request.Form("Nom")
objRS("prenom") = Request.Form("Prenom")
objRS("Licence") = Request.Form("Licence")
objRS("classement") = Request.Form("Classement")
objRS("sexe") = Request.Form("Sexe")
objRS("motDePasse") = Request.Form("MotDePasse")
objRS.Update
objRS.Close
set objRS = nothing
ObjCn.Close
set ObjCn = nothing
%>

</html>

7 réponses

Messages postés
58
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
14 janvier 2008

Bonjour michele
tu peux essayer ceci

objRS.AddNew
objRS.Fields("nom") = Request.Form("Nom")
objRS.Fields("prenom") = Request.Form("Prenom")
objRS.Fields("Licence") = Request.Form("Licence")
objRS.Fields("classement") = Request.Form("Classement")
objRS.Fields("sexe") = Request.Form("Sexe")
objRS.Fields("motDePasse") = Request.Form("MotDePasse")
objRS.Update
objRS.Close

ou sinon dit moi quelle est l'erreur qu'il te dit

bye bye a+
Messages postés
25
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
11 juin 2006

Bonjour
Merci pour ton aide
J'ai essayé sans résultat, aucun message d'erreur apparait, mais l'enregistrement ne s'ajoute pas à ma base de données
Messages postés
25
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
11 juin 2006

Bonjour
Merci pour ton aide
J'ai essayé sans résultat, aucun message d'erreur apparait, mais l'enregistrement ne s'ajoute pas à ma base de données
Messages postés
58
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
14 janvier 2008

salut,
Met cette partie au debut de ta page:

<%@ Language= VBScript %>
<%Option Explicit%>
<!--#include file="ConnexionDB.asp"-->

et le reste du code asp aussi.
en dehord de la balise <html> en haut.
et tu peux verifier si tu as une bonne connexion a ta base en mettant ceci:

if ObjCn.State=0 then
response.write "Connection non trouvé
"
else
tu met le reste du script asp ici
end if

sinon si sa ne fonctionne pas....ben je ne sais plus quoi te dire ton script ma l'air bien sauf que tu as melangé interdev et front page (web bot)...mais je ne pense pas que sa change quelques chose
Messages postés
25
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
11 juin 2006

Bonjour.
Une nouvelle fois merci pour ton aide
J'ai réglé mon probléme en ajoutant le fichier <!--#include file= "adovbs.inc"-->, apparament certaines variables n'étaient pas definies.par contre je voudrais controler si le mot de passe au cours d'une nouvelle inscription existe deja avant de l'enregistrer.
J'ai utilisé le code qui se trouve ci-dessous mais sans résultat.
Qu'en penses-tu?
Merci @+
Michèle

<%@ Language=VBScript %>
<% Option Explicit %>
<!--#include file="ConnexionDB.asp"-->
<!--#include file="adovbs.inc"-->

<%
dim objRS, ExisteDeja

ExisteDeja = False
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "joueur", objConn, , adLockOptimistic, adCmdTable
Do While Not (objRS.EOF OR ExisteDeja)
If (StrComp(objRS.Fields("motDePasse"), Request.Form("MotDePasse"), _
vbTextCompare) = 0) Then
Response.Write ""
Response.Write "Ce nom d'utilisateur existe déjà."
Response.Write ""

ExisteDeja = True
End If
objRS.MoveNext
Loop
if not ExisteDeja then
objRS.AddNew
objRS.Fields("nom") = Request.Form("Nom")
objRS.Fields("prenom") = Request.Form("Prenom")
objRS.Fields("Licence") = Request.Form("Licence")
objRS.Fields("classement") = Request.Form("Classement")
objRS.Fields("Capital") =("Classement")
objRS.Fields("sexe") = Request.Form("Sexe")
objRS.Fields("motDePasse") = Request.Form("MotDePasse")
end if

objRS.update
objRS.Close
set objRS = nothing
ObjCn.Close
set ObjCn = nothing
%>
Messages postés
58
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
14 janvier 2008

Bonjour et de rien sa me fait plaisir de pouvoir t'aider :-)

tu peux essayer ceci:

pas = request.form("ton champ formulaire")
vari = "select password from TaTable where password='" & pas & "'"
set rs2 = server.CreateObject("ADODB.recordset")
rs2.Open vari,conn,adOpenForwardOnly,adLockOptimistic
found = false
if conn.State=0 then
response.write "Connection non trouvé
"
else
strFilter = "password= '" & pas & "'"
rs2.Filter = strFilter
if not rs2.EOF then
if pas = rs2("password") then
found = true
else
Response.Write "Vous n'avez pas accès a cette page"
c=f
Response.Redirect("TaPageDeLogin.asp?c=f")
end if

if found then
Le reste du script asp
end if

n'oublie pas si tu utilise le response.redirect il te faut mettre en haut de ta page juste en dessous de language=vbscript ....il faut que tu mette :
<%Response.Buffer = true%>

bon et bien bonne journée et bonne prog..
Messages postés
25
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
11 juin 2006

Bonsoir
J'ai essayé d'appliquer ta procédure sans résultat,
aucun enregistrement ne s'ajoute à la base de données malgré qu'aucun message d'erreur ne s'affiche.
J'ai essayé d'appliquer une procedure que j'utilise quelquefois avec visual basic, cela fonctionne, lorsque
le mot de passe n'existe pas dans la base de données, un nouvel enregistrement s'ajoute bien dans celle-ci.
par contre lorsqu'il y figure dèja je retourne bien à mon formulaire mais celui-ci a perdu toutes les informations saisies auparavant et aucun message pour avertir l'internaute de saisir un autre mot de passe ne figure sur le formulaire.
Comme je débute avec Html et ASP je suis un peu perdue.
Tu trouveras ci-dessous le code que j'ai utilisé
Un autre petit problème, à chaque fois que je veux mettre <% Option Explicit %> une erreur se produit.
Merci pour ton aide
@+ Michèle

<%@ Language= VBScript %>
<%Response.Buffer = true%>

<!--#include file="ConnexionDB.asp"-->
<!--#include file="adovbs.inc"-->

<%
dim objRS, vari, ControleMotDePasse
ControleMotDePasse = request.form("MotDePasse")vari "Select * from joueur WHERE motDePasse '" & ControleMotDePasse & "'"
set objRS = server.CreateObject("ADODB.recordset")
objRS.Open vari, ObjCn, adOpenKeySet

if ObjCn.State=0 then
response.write "Connection non trouvé
"
end if

if objRS.RecordCount>0 then
Response.Redirect("Inscription.asp")
Response.Write "Mot de passe non valide, veuillez en saisir un autre "
else
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "joueur", ObjCn, , adLockOptimistic, adCmdTable
objRS.AddNew
objRS.Fields("nom") = Request.Form("Nom")
objRS.Fields("prenom") = Request.Form("Prenom")
objRS.Fields("Licence") = Request.Form("Licence")
objRS.Fields("classement") = Request.Form("Classement")
objRS.Fields("sexe") = Request.Form("Sexe")
objRS.Fields("motDePasse") = Request.Form("MotDePasse")
if Request.Form("Classement")="NC" then
objRS.Fields("Capital") = 0
elseif Request.Form("Classement")="30/5" then
objRS.Fields("Capital") = 5
elseif Request.Form("Classement")="30/4" then
objRS.Fields("Capital") = 10
elseif Request.Form("Classement")="30/3" then
objRS.Fields("Capital") = 20
elseif Request.Form("Classement")="30/2" then
objRS.Fields("Capital") = 30
elseif Request.Form("Classement")="30/1" then
objRS.Fields("Capital") = 50
elseif Request.Form("Classement")="30" then
objRS.Fields("Capital") = 80
elseif Request.Form("Classement")="15/5" then
objRS.Fields("Capital") = 120
elseif Request.Form("Classement")="15/4" then
objRS.Fields("Capital") = 160
elseif Request.Form("Classement")="15/3" then
objRS.Fields("Capital") = 200
elseif Request.Form("Classement")="15/2" then
objRS.Fields("Capital") = 240
elseif Request.Form("Classement")="15/1" then
objRS.Fields("Capital") = 280
elseif Request.Form("Classement")="15" then
objRS.Fields("Capital") = 330
elseif Request.Form("Classement")="5/6" then
objRS.Fields("Capital") = 370
elseif Request.Form("Classement")="4/6" then
objRS.Fields("Capital") = 410
elseif Request.Form("Classement")="3/6" then
objRS.Fields("Capital") = 450
elseif Request.Form("Classement")="2/6" then
objRS.Fields("Capital") = 490
elseif Request.Form("Classement")="1/6" then
objRS.Fields("Capital") = 530
elseif Request.Form("Classement")="0" then
objRS.Fields("Capital") = 570
elseif Request.Form("Classement")="-2/6" then
objRS.Fields("Capital") = 620
elseif Request.Form("Classement")="-4/6" then
objRS.Fields("Capital") = 660
elseif Request.Form("Classement")="-15" then
objRS.Fields("Capital") = 700
elseif Request.Form("Classement")="-30" then
objRS.Fields("Capital") = 740
elseif Request.Form("Classement")="Promotion" then
objRS.Fields("Capital") = 780
elseif Request.Form("Classement")="1ère Serie" then
objRS.Fields("Capital") = 840
end if

objRS.update
objRS.Close
set objRS = nothing
end if
ObjCn.Close
set ObjCn = nothing
%>
Merci pour ton aide
@
Michèle