Avatar billede carstenandersen Nybegynder
22. september 2011 - 07:23 Der er 2 kommentarer og
1 løsning

Tjek for fejl i formular

Hjælp til tjek for formular
Hej eksperter

I går ændrede jeg min oprettelsesformular, så formularfelterne for brugeren er udfyldt, hvis brugeren endnu ikke har indtastet noget i feltet. Jeg har tilrettet og testet, og der vil komme en fejlmeddelelse, hvis alle 3 felter ikke er udfyldt. Her til morgen så jeg så, at der var blevet oprettet en bruger, hvor alle 3 felter stod tomme i databasen ! Hvordan kan det ske? Fejl i koden? Ikke kompatibelt med alle browsere? Spamrobotter? Virkelig brug for din hjælp ;-)

Koden for formularen er:

<form action="/opret-data.asp" method="post">
<input type="hidden" name="Tjek" value="">
<input type="text" name="Emailformular" value="E-mail" onfocus="if(this.value=='E-mail')this.value='';" onblur="if(this.value=='')this.value='E-mail';" size="45" style="font-size: 10pt; font-family: Verdana; color: #29292D">
<p>
<input type="text" name="Brugernavnformular" value="Brugernavn" onfocus="if(this.value=='Brugernavn')this.value='';" onblur="if(this.value=='')this.value='Brugernavn';" size="45" style="font-size: 10pt; font-family: Verdana; color: #29292D">
<p>
<input type="text" name="Passwordformular" value="Password" onfocus="if(this.value=='Password')this.value='';" onblur="if(this.value=='')this.value='Password';" size="45" style="font-size: 10pt; font-family: Verdana; color: #29292D">
<p>
<input type="image" src="/billeder/opret.gif" name="B1">
</form>

Koden på "datasiden" er:

<%

Tjek = Request.form("Tjek")
Tjek = replace(Tjek, "'", "")

if Tjek = "" then
else
Response.Redirect "/blank.asp"
end if

if Request.form("Emailformular") = "E-mail" Then
Response.Redirect "/include/opret/fejl-email-tom.asp"
End if

if Request.form("Brugernavnformular") = "Brugernavn" Then
Response.Redirect "/include/opret/fejl-brugernavn-tom.asp"
End if

if Request.form("Passwordformular") = "Password" Then
Response.Redirect "/include/opret/fejl-password-tom.asp"
End if

%>

<%

Brugernavn = Request.form("Brugernavnformular")
Brugernavn = replace(Brugernavn, "'", "")

Password = Request.form("Passwordformular")
Password = replace(Password, "'", "")

SQL = "Select * from Brugere where Brugernavn = '" & Brugernavn & "'"

Set rs = Conn.Execute(SQL)

%>

<% if rs.bof AND rs.eof then %>

opretter bruger
....
....

<% else %>

<%
      ' Luk databaseforbindelse
    Conn.Close
    Set Conn = Nothing
    Response.Redirect "/include/opret/fejl-brugernavn-optaget.asp"

%>

<% end if %>

På forhånd tak.
Avatar billede softspot Forsker
22. september 2011 - 08:41 #1
Du foretager ikke umiddelbart nogen kontrol imod tomme felter. Du tjekker kun om de indeholder default-værdierne. Så hvis du tilføjer tjek for tomme værdier vil dit problem nok blive løst :-)
Avatar billede carstenandersen Nybegynder
22. september 2011 - 09:11 #2
Selvfølgelig :-)

Det plejer jeg også at tjekke, men da felterne nu havde anden startværdi, var det det, som jeg tjekkede for. Nu tjekker jeg for begge ;-)

Du har virkelig været en stor hjælp, tak. Smid et svar.
Avatar billede softspot Forsker
22. september 2011 - 09:23 #3
Velbekomme :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester