Avatar billede m_fisker Nybegynder
18. november 2004 - 08:53 Der er 35 kommentarer og
1 løsning

oprettes system check brugernavn

Jeg sider med et oprettes system. hvor script skal gå i Access og checke om Brugernavn er optaget.

Jeg har prøvet med:

if  rs("Brugernavn") = Request.Form("Brugernavn") then

Response.Write rs("Brugernavnt er optaget. Brug et andet.")

else

Brugernavn = Request.Form("Brugernavn")

end if

men jeg kan ikke få det til at funke
Avatar billede m_fisker Nybegynder
18. november 2004 - 08:56 #1
og den skal også checke email
Avatar billede Jman Praktikant
18. november 2004 - 08:56 #2
Response.Write rs("Brugernavnt er optaget. Brug et andet.")
skal være
Response.Write ("Brugernavnt er optaget. Brug et andet.")
Avatar billede m_fisker Nybegynder
18. november 2004 - 08:58 #3
en skrive fejl her inde..
Avatar billede m_fisker Nybegynder
18. november 2004 - 08:59 #4
det er koden jeg ikke få til at virke
Avatar billede michael_stim Ekspert
18. november 2004 - 09:03 #5
Hvilken fejl får du?? Umiddelbart ser det OK ud.
Avatar billede Jman Praktikant
18. november 2004 - 09:04 #6
ellers prøv med:
if rs("Brugernavn") = '"& Request.Form("Brugernavn") &"' then

Hvis det ikke virker, må der mere kode til
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:07 #7
(superior) Jeg fik denne fejl efter havde din koden i.

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EA)
Der er en syntaksfejl
/test/add_entry.asp, line 27, column 22
if rs("Brugernavn") = '"& Request.Form("Brugernavn") &"' then
---------------------^
Avatar billede Jman Praktikant
18. november 2004 - 09:08 #8
det var min fejl - sad ogkiggede på noget andet samtidig...

Du må rette tilbage og smide noget mere kode op, så vi kan se fra din select og hvad der skal ske...
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:11 #9
koden ser sådan ud nustrSQL2 = "SELECT * From Brugere"

            Set rs = my_conn.Execute(strSQL2)


if rs("Brugernavn") = & Request.Form("Brugernavn")  then

Response.Redirect "bruger_add.asp"

else

Brugernavn = Request.Form("Brugernavn")

end if
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:11 #10
koden ser sådan ud nustrSQL2 = "SELECT * From Brugere"

            Set rs = my_conn.Execute(strSQL2)

ups.
if rs("Brugernavn") = & Request.Form("Brugernavn")  then

Response.Redirect "bruger_add.asp"

else

Brugernavn = Request.Form("Brugernavn")

end if
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:12 #11
sådan.
strSQL2 = "SELECT * From Brugere"

            Set rs = my_conn.Execute(strSQL2)


if rs("Brugernavn") =  Request.Form("Brugernavn")  then

Response.Redirect "bruger_add.asp"

else

Brugernavn = Request.Form("Brugernavn")

end if
Avatar billede Jman Praktikant
18. november 2004 - 09:12 #12
du er nødt til at have et kriterie med i selecten
nustrSQL2 = "SELECT * From Brugere where Brugernavn =" Request.Form("Brugernavn")
Set rs = my_conn.Execute(strSQL2)
if rs.eof or rs.bof then
Brugernavn = Request.Form("Brugernavn")
else
Response.Write ("Brugernavnt er optaget. Brug et andet.")
end if
Avatar billede Jman Praktikant
18. november 2004 - 09:13 #13
nustrSQL2 = "SELECT * From Brugere where Brugernavn =" Request.Form("Brugernavn")

skal være
nustrSQL2 = "SELECT * From Brugere where Brugernavn =" & Request.Form("Brugernavn")
Avatar billede michael_stim Ekspert
18. november 2004 - 09:14 #14
Endnu mere kode, tak.
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:14 #15
hvad hvis jeg skal også checke mail
Avatar billede michael_stim Ekspert
18. november 2004 - 09:15 #16
superior>>Det er jo det han checker i if-satsen, men en whileloop ville göre undervärker.
Avatar billede Jman Praktikant
18. november 2004 - 09:16 #17
nustrSQL2 = "SELECT * From Brugere where Brugernavn ='" & Request.Form("Brugernavn") & "' AND Email = " & Request.Form("Email")
Set rs = my_conn.Execute(strSQL2)
if rs.eof or rs.bof then
Brugernavn = Request.Form("Brugernavn")
Email = Request.Form("Email")
else
Response.Write ("Brugernavnt eller email er optaget. Brug et andet.")
end if
Avatar billede Jman Praktikant
18. november 2004 - 09:17 #18
michael_stim: der er ingen grund til at selecte alle brugere og smide dem ind i en loop for at finde ud af om brugernavnet er optaget. Så hellere forsøge at finde brugernavn i select'en - det er hurtigere
Avatar billede michael_stim Ekspert
18. november 2004 - 09:20 #19
Jeg havde misset din EOF og BOF, sorry.
Men det er en dårlig idé at kun acceptere én emailadresse. Tänk hvis man deler.
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:21 #20
du siger noget..
Avatar billede michael_stim Ekspert
18. november 2004 - 09:22 #21
Men det er klart det går hurtigere at teste direkte på brugernavnet ;o)
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:24 #22
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
/test/add_entry.asp, line 23 -->
Set rs = my_conn.Execute(strSQL2)
Avatar billede Jman Praktikant
18. november 2004 - 09:26 #23
Jeg gætter på det er din select... Har du de felter, du spørger på ?
.. men hvordan ser din kode ud nu ??
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:27 #24
ConnString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("_private/fdf.mdb")


set my_conn= Server.CreateObject("ADODB.Connection")
       
        my_Conn.Open ConnString       


           
       

strSQL2 = "SELECT Brugernavn From Brugere where Brugernavn =" & Request.Form("Brugernavn")
Set rs = my_conn.Execute(strSQL2)
if rs.EOF or rs.BOF then
Brugernavn = Request.Form("Brugernavn")

else
Response.Write ("Brugernavnt optaget. Brug et andet.")
end if
Avatar billede michael_stim Ekspert
18. november 2004 - 09:27 #25
nustrSQL2 = "SELECT * From Brugere where Brugernavn ='" & Request.Form("Brugernavn") & "' AND Email = '" & Request.Form("Email") & "'"
Avatar billede Jman Praktikant
18. november 2004 - 09:28 #26
Kommentar: michael_stim [18/11-2004 09:20:37]
Det er klart at den er et problem hvis man deler email ... men hvem gør det i dag (havde jeg nær sagt), og hvad skal det bruges til.. det kunne jo være at systemet kræver en unik mailadresse..  :o)
Avatar billede michael_stim Ekspert
18. november 2004 - 09:28 #27
strSQL2 = "SELECT Brugernavn From Brugere where Brugernavn ='" & Request.Form("Brugernavn") & "'"
Avatar billede michael_stim Ekspert
18. november 2004 - 09:29 #28
Uha, der er mange der stadig deler emailadresse. Tänk på Hr og fru Jensen der lige har fået internet ;o)
Avatar billede Jman Praktikant
18. november 2004 - 09:30 #29
m_fisker:
strSQL2 = "SELECT Brugernavn From Brugere where Brugernavn ='" & Request.Form("Brugernavn") &"'"

michael_stim: Ja, men hvis de ikke er målgruppen, betyder det ikke noget
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:31 #30
det ser findt ud nu.. men den oprette en brugerkonto. men med uden Brugernavn
Avatar billede Jman Praktikant
18. november 2004 - 09:33 #31
det er nok i din insert der er noget galt :o)
husk at deet nu er vaiablen Brugernavn, der skal sættes ind
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:33 #32
kan man ikke stoppe script
Avatar billede Jman Praktikant
18. november 2004 - 09:33 #33
jo: response.end
Avatar billede michael_stim Ekspert
18. november 2004 - 09:34 #34
Nej men kan vel lige så godt undgå at få problemer, og udelukke eventuelle fejl.
Avatar billede Jman Praktikant
18. november 2004 - 09:34 #35
det er korrekt...  c",)
Avatar billede m_fisker Nybegynder
18. november 2004 - 09:36 #36
Nu virker det med 112% 1000 Tak
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