/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
"Direct" hjælp! :-)
Fra : Bo Laursen


Dato : 05-09-06 18:22

Hej alle,

Jeg kan ikke få nedenstående kode til at fungere.

Jeg har oprettet en ny kolonne i min access db ved navn
"UserPage" hvor jeg kan vælge hvilken siden brugeren skal sendes
til:
----------------------------
<%

Dim adoCon

Dim strCon

Dim rsCheckUser

Dim strAccessDB

Dim strSQL

Dim strUserName



strUserName = Request.Form("txtUserName")



strAccessDB = "brugere.mdb"



Set adoCon = Server.CreateObject("ADODB.Connection")



strCon = "DRIVER={Microsoft Access Driver
(*.mdb)};uid=;pwd=letmein; DBQ=" &
Server.MapPath("db/mab2win.mdb")



adoCon.Open strCon



Set rsCheckUser = Server.CreateObject("ADODB.Recordset")



strSQL = "SELECT * FROM tblUsers WHERE tblUsers.UserID ='" &
replace(strUserName, "'", "''") & "'"



rsCheckUser.Open strSQL, strCon



If NOT rsCheckUser.EOF Then



If (Request.Form("txtUserPass")) = rsCheckUser("Password") Then



Session("blnIsUserGood") = True



Set adoCon = Nothing

Set strCon = Nothing

Set rsCheckUser = Nothing

response.redirect rsCheckUser("UserPage") & "?name=" &
strUserName



End If

End If



Set adoCon = Nothing

Set strCon = Nothing

Set rsCheckUser = Nothing



Session("blnIsUserGood") = False



Response.Redirect"fejl.asp"

%>
-----------------------------------
1. har jeg lavet en fejl i koden?
2. hvilken datatype skal jeg vælge i min kolonne i access(tekst,
notat, tal hyperlink...)?
3. skrives linket i kolonnen som "side1.asp eller
www.mitdomæne.dk/side1.asp"?

Mvh.
Bo Laursen




--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (05-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-09-06 21:18

Bo Laursen skrev:

> Jeg kan ikke få nedenstående kode til at fungere.

*Hvordan* fungerer den ikke? Får du en asp-fejl, vises siden
forkert eller vises den slet ikke?

Det er meget lettere at hjælpe hvis du fortæller mere konkret om
dit problem - se evt. artiklen her først:
<http://asp-faq.dk/article/?id=41>


> Set rsCheckUser = Nothing

Efter denne linje har du intet i rsCheckUser.

> response.redirect rsCheckUser("UserPage") & "?name=" &
> strUserName

- så når du prøver at tilgå rsCheckUser("UserPage") får du ikke
noget brugbart resultat.

Ideen med at nedlægge postsættet før du viderestiller er helt fin
(omend du glemmer at lukke postsættet først - rsCheckUser.Close) -
men du skal flytte værdien fra UserPage over i en variabel først:

   Dim userPage
   
   ...
   userPage = rsCheckUser("UserPage")
   rsCheckUser.Close
   Set rsCheckUser = Nothing

   Response.redirect userPage & "?name=" & strUserName


> 1. har jeg lavet en fejl i koden?

Ja - i hvert fald en logisk fejl (jf. ovenstående).

> 2. hvilken datatype skal jeg vælge i min kolonne i access(tekst,
> notat, tal hyperlink...)?

Brug et helt normalt tekstfelt.


> 3. skrives linket i kolonnen som "side1.asp eller
> www.mitdomæne.dk/side1.asp"?

Det afgør du selv. Hvis alle links er til samme domæne, er der
ingen grund til at gemme det i feltet. Husk at hvis du angiver
domænet, skal du også angive "http://" når du kalder redirect-
metoden.

NB: Et generelt tip når man arbejder med redirect. Prøv at
udkommenter selve omdirigeringen og udskriv parameteren til
redirect i stedet - så er det lettere at se evt. fejl.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Bo Laursen (06-09-2006)
Kommentar
Fra : Bo Laursen


Dato : 06-09-06 11:42

Hej Jens,
> Bo Laursen skrev:
>
> > Jeg kan ikke få nedenstående kode til at fungere.
>
> *Hvordan* fungerer den ikke? Får du en asp-fejl, vises siden
> forkert eller vises den slet ikke?
Microsoft VBScript runtime error '800a000d'

Type mismatch

/bruger.asp, line 35

> > Set rsCheckUser = Nothing
>
> Efter denne linje har du intet i rsCheckUser.
>
> > response.redirect rsCheckUser("UserPage") & "?name=" &
> > strUserName
>
> - så når du prøver at tilgå rsCheckUser("UserPage") får du ikke
> noget brugbart resultat.
>
> Ideen med at nedlægge postsættet før du viderestiller er helt fin
> (omend du glemmer at lukke postsættet først - rsCheckUser.Close) -
> men du skal flytte værdien fra UserPage over i en variabel først:
>
>    Dim userPage
>    
>    ...
>    userPage = rsCheckUser("UserPage")
>    rsCheckUser.Close
>    Set rsCheckUser = Nothing
>
>    Response.redirect userPage & "?name=" & strUserName
>
>
> > 1. har jeg lavet en fejl i koden?
>
> Ja - i hvert fald en logisk fejl (jf. ovenstående).
>
Du har tabt mig lidt i din rettelse - jeg er dog heller ikke en haj
til asp

Er dog glad for du gider se på min problemstilling.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (06-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-09-06 11:54

Bo Laursen skrev:

> Microsoft VBScript runtime error '800a000d'
>
> Type mismatch
>
> /bruger.asp, line 35

Hvad indeholder linje 35?

Læste du den artikel jeg henviste til?
(<http://asp-faq.dk/article/?id=41>)


> Du har tabt mig lidt i din rettelse - jeg er dog heller ikke
> en haj til asp

Hovedpointen er at du ikke kan tilgå et objekt efter at du har
destrueret det.

Når du skriver:

Set rsCheckUser = Nothing

- glemmer asp-parseren alt om hvad rsCheckUser indeholdt før. Det
svarer til følgende kode:

   X = "Hej med dig"

   Response.write X <= udskriver Hej med dig

   X = ""

   Response.write X <= udskriver ikke noget, da X nu er tom


Derfor kan du starte med at fjerne den linje der nulstiller
rscheckuser.


> Er dog glad for du gider se på min problemstilling.

Gør det gerne, men jeg vil sætte pris på hvis du bruger et par
minutter på <http://asp-faq.dk/article/?id=41> før du svarer igen.
Det kan spare tid for os begge.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Bo Laursen (06-09-2006)
Kommentar
Fra : Bo Laursen


Dato : 06-09-06 12:41

Hej igen,

Har rettet koden til følgende:
-----
Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

userPage = rsCheckUser("UserPage")
rsCheckUser.Close
Set rsCheckUser = Nothing

Response.redirect userPage & "?name=" & strUserName
-----
(jeg har nok ikke forstået din rettelse) Jeg får fejl i
linjen:userPage = rsCheckUser("UserPage")

Jeg har ikke selv skrevet koden(den tilkommer Erik fra
Hjemmesideskolen) Ville være dejligt hvis du gad skrive koden for
mig, og fortælle hvor jeg sætter den ind.

Mvh.
Bo Laursen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Zedeler (06-09-2006)
Kommentar
Fra : Michael Zedeler


Dato : 06-09-06 13:02

Bo Laursen wrote:
> Jeg har ikke selv skrevet koden(den tilkommer Erik fra
> Hjemmesideskolen) Ville være dejligt hvis du gad skrive koden for
> mig, og fortælle hvor jeg sætter den ind.

Så er det måske en idé at spørge Erik.

Det er muligt at en venlig sjæl vil lave det gratis for dig, men min
holdning er, at denne gruppe er henvendt til folk, der ønsker at lære
mere om hvordan man programmerer i ASP. Hvis du er interesseret i det,
så tag et kig på f. eks. w3schools.com, hvor der er en introduktion til
emnet.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Jens Gyldenkærne Cla~ (06-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-09-06 12:49

Bo Laursen skrev:

> Hej igen,

Hej. Du har stadig ikke svaret på om du har læst
<http://asp-faq.dk/article/?id=41> - men det ser ikke sådan ud.

Prøv at følge den fremgangsmåde der er vist der.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Bo Laursen (06-09-2006)
Kommentar
Fra : Bo Laursen


Dato : 06-09-06 12:59

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Bo Laursen skrev:
>
> > Hej igen,
>
> Hej. Du har stadig ikke svaret på om du har læst
> <http://asp-faq.dk/article/?id=41> - men det ser ikke sådan ud.
>
Min ASP-side giver mig en fejl, som jeg ikke kan finde ud af. Fejlen
er:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested
name or ordinal.

/bruger.asp, line 37

Koden i min side omkring linie 37 er:

Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

userPage = rsCheckUser("UserPage")
rsCheckUser.Close
Set rsCheckUser = Nothing

Response.redirect userPage & "?name=" & strUserName

End If

har jeg ramt korrekt nu?

Mvh.
Bo



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bo Laursen (06-09-2006)
Kommentar
Fra : Bo Laursen


Dato : 06-09-06 14:00

Får følgende asp-fejl:
----
ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested
name or ordinal.

/bruger.asp, line 32
------
Den fulde kode ser ud som følger:
--------
<%
Dim strCon
Dim rsCheckUser
Dim strAccessDB
Dim strSQL
Dim strUserName
Dim UserPage


strUserName = Request.Form("txtUserName")

strAccessDB = "brugere.mdb"

Set adoCon = Server.CreateObject("ADODB.Connection")

strCon = "DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=letmein;
DBQ=" & Server.MapPath("db/pg.mdb")

adoCon.Open strCon

Set rsCheckUser = Server.CreateObject("ADODB.Recordset")

strSQL = "SELECT tblUsers.Password FROM tblUsers WHERE tblUsers.UserID
='" & replace(strUserName, "'", "''") & "'"

rsCheckUser.Open strSQL, strCon

If NOT rsCheckUser.EOF Then

If (Request.Form("txtUserPass")) = rsCheckUser("Password") Then

Session("blnIsUserGood") = True

(linje32)userPage = rsCheckUser("UserPage")
rsCheckUser.Close
Set rsCheckUser = Nothing

Response.redirect UserPage & "?name=" & strUserName

End If
End If

Set adoCon = Nothing
Set strCon = Nothing
Set rsCheckUser = Nothing

Session("blnIsUserGood") = False

Response.Redirect"fejl.asp"
%>
----
Synes jeg har gjort præcis som du har skrevet. Jeg kan godt se det
logiske i det du har skrevet - forstår bare ikke hvor jeg fejler?

Mvh.
Bo

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (06-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-09-06 13:07

Bo Laursen skrev:

> Item cannot be found in the collection corresponding to the
> requested name or ordinal.
>
> /bruger.asp, line 37
>
> Koden i min side omkring linie 37 er:
>
> Set adoCon = Nothing
> Set strCon = Nothing
> Set rsCheckUser = Nothing

Slet linjen herover. Som nævnt før betyder Set X = Nothing at du
sletter indholdet i X (her rsCheckUser) - og derfor fejler den
efterfølgende linje:


> userPage = rsCheckUser("UserPage")


- når du prøver at læse fra rsCheckUser.


> rsCheckUser.Close
> Set rsCheckUser = Nothing

De to linjer her er helt fine.


> har jeg ramt korrekt nu?

Det er meget bedre - helt sikkert. Det er en god ting også at
markere præcis hvilken linje der er nr. 37, men det er i dette
tilfælde til at regne ud.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Jens Gyldenkærne Cla~ (06-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-09-06 14:09

Bo Laursen skrev:

> Item cannot be found in the collection corresponding to the
> requested name or ordinal.

Den betyder at du forsøger at læse fra et felt der ikke er med i
postsættet.


> strSQL = "SELECT tblUsers.Password FROM tblUsers WHERE
> tblUsers.UserID ='" & replace(strUserName, "'", "''") & "'"

Herover står din sql-sætning - der kun henter ét felt til
postsættet, nemlig Password. Derfor kan du ikke læse UserPage
senere.

Skriv i stedet:

strSQL = "SELECT UserPage, Password FROM tblUsers WHERE UserID ='"
& replace(strUserName, "'", "''") & "'"


- så har du UserPage til rådighed når du skal bruge den.

Man kan også bare anvende * til at markere at man vil have alle
felter ud (SELECT * FROM xxx), men det er bedre at angive præcis de
felter man har brug for. Dels undgår man at overføre unødvendige
oplysninger, og dels er det lettere at se hvilke felter man har til
rådighed.


> Synes jeg har gjort præcis som du har skrevet.

Det har du også. Jeg havde bare ikke set din sql-sætning før - det
var dér fejlen lå.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Bo Laursen (06-09-2006)
Kommentar
Fra : Bo Laursen


Dato : 06-09-06 14:46


> Skriv i stedet:
>
> strSQL = "SELECT UserPage, Password FROM tblUsers WHERE UserID ='"
(Linje23)> & replace(strUserName, "'", "''") & "'"

Får følgende asp-fejl når jeg retter til ovenstående:
----------------
Microsoft VBScript compilation error '800a0400'

Expected statement

/bruger.asp, line 23

& replace(strUserName, "'", "''") & "'"
-----------------------
Mvh.
Bo


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (06-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-09-06 14:49

Bo Laursen skrev:

> Får følgende asp-fejl når jeg retter til ovenstående:
> ----------------
> Microsoft VBScript compilation error '800a0400'
>
> Expected statement

Linjen er ombrudt i usenetindlægget. Du skal selv samle den i din
editor.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Bo Laursen (06-09-2006)
Kommentar
Fra : Bo Laursen


Dato : 06-09-06 14:59

Hej,

Nu virker det sgu - du er verdensklasse Jens - mange tak for hjælpen


Mvh.
Bo

<Jens GyldenkærneClausen wrote in
<dk.edb.internet.webdesign.serverside.asp:
> Linjen er ombrudt i usenetindlægget. Du skal selv samle den i din
> editor.
> --
> Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
> eller Brønshøj, max 6000 pr. måned.
> Kontakt pr. mail - nospam(at)gyros.dk
> Jens Gyldenkærne Clausen


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste