/ 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
Problem med, at skrive til en bruger datab~
Fra : Anders Nielsen


Dato : 25-01-03 22:00

Jeg har nu sidet og rodet lidt rundt med denne kode i 1 par dage
og jeg kan ikke få den til at virke, når jeg trykker på "opret"
får jeg bare standard meddelelsen om at siden ikke kan vises, og
når jeg prøver at logge ind med den nye bruger virker den ikke.

Nogen ASP-Hajer der kan gennemskue hvad jeg gør forkert???

(Se selve siden her:
http://www.friserverplads.dk/bogologo/asp/index.htm)

Her er hele koden for min "opret" side:

<%@ Language = "VBScript" %>
<%

Dim strUser ' user field
Dim intPass ' pass field

Dim cnnRegister
Dim strUsername, strPassword
Dim strSQL


If Request.Form("action") <> "save" Then
%>
<html>
<head>
<title>About</title>

<link rel="stylesheet" type="text/css" href="midt-style.css">

</head>
<body topmargin="0" leftmargin="0">
<table cellpadding="0" cellspacing="0" border=0 width=479>
<tr>
<td class="overskrift">.ret</td>
</tr>
<tr>
<td>Her kan du i fremtiden oprette din egen bruger...


<form action="action" method="post" target="midt">
<input type="hidden" name="action" value="save">

<table class="indhold" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td class="login">
Brugernavn:
</td>
<td>
</td>
<tr>
<td class="felt">
<input class="write" type="text" name="User">
<td>
</tr>

<tr>
<td class="login">
Password:
</td>
<td>
</td>
</tr>
<tr>
<td class="felt">
<input class="write" type="password" name="Pass">

</td>
<td>

</td>
</tr>

<tr>
<td>
</td>
<td>
</td>
</tr>

<tr>
<td>
<input class="knap" type="image" src="images/opret.gif"
onFocus="blur()" value="opret" name="opret"></td>
<td>
</td>
</tr>
</table>
</form>

<%
Else

strUser = Request.Form("User")
intPass = Request.Form("Pass")

strUser = Replace(username, "'", "''")
intPass = Replace(password, "'", "''")

On Error Resume Next
   strErrorMsg = ""

strUser = Trim(strUser)
   If Len(strUser) = 0 Or Len(strUser) > 10 Then Err.Raise 1
   strUser = Replace(strUser, "'", "''")
   If Err.number <> 0 Then
      strErrorMsg = strErrorMsg & "Your entry for string_field is " &
_
         "inappropriate!<br />" & vbCrLf
      Err.Clear
   End If

strPass = Trim(strPass)
   If Len(strPass) = 0 Or Len(strPass) > 10 Then Err.Raise 1
   strPass = Replace(strPass, "'", "''")
   If Err.number <> 0 Then
      strErrorMsg = strErrorMsg & "Your entry for string_field is " &
_
         "inappropriate!<br />" & vbCrLf
      Err.Clear
   End If

   On Error Goto 0
   
   If strErrorMsg <> "" Then
      ' Show the error message that got us here!
      Response.Write strErrorMsg
   Else


   Set cnnRegister = Server.CreateObject("ADODB.Connection")
   cnnRegister.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
      & "DBQ=" & Server.MapPath("user.mdb"))
   cnnRegister.Open strConnString
      
      
      ' Build our SQL String
      strSQL = ""
      strSQL = strSQL & "INSERT INTO tblLoginInfo "
      strSQL = strSQL & "(Username, Password) " & vbCrLf
      strSQL = strSQL & "VALUES ("
      strSQL = strSQL & "'" & strUser & "'"
      strSQL = strSQL & ", "
      strSQL = strSQL & intPass
      strSQL = strSQL & ");"
      
      cnnRegister.Execute strSQL, adCmdText Or adExecuteNoRecords

      cnnRegister.Close
      Set cnnRegister = Nothing

%>      
<h2>Thanks for submitting your information to us!</h2>
<p>
<strong>The resulting SQL statement was:</strong>
<pre><%= strSQL %></pre>

      <%
   End If
End If
%>
<p>&nbsp;</p>
</td>
</tr>
</table>

</body>
</html>

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

 
 
Jens Gyldenkærne Cla~ (25-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-01-03 23:10

Anders Nielsen skrev:

> når jeg trykker på "opret" får jeg bare standard meddelelsen om
> at siden ikke kan vises,

Der er ikke nogen standardmeddelelse når en side ikke kan vises.
Der er en hel række meddelelser, med fejlnummer samt - i tilfælde
af asp-fejl - uddrag af din kode.

> http://www.friserverplads.dk/bogologo/asp/index.htm)

Klikker man opret (på opret-siden) kommer fejlmeddelelsen:
"HTTP 405 - Resource not allowed". Det er typisk fordi du prøver at
sende formdata til en filtype der ikke understøtter det.

> <form action="action" method="post" target="midt">

Og herover er forklaringen. Du sender formen til resursen "action"
- ret det til den fil der skal håndtere formen.
Hvis det er samme fil kan du også blot slette action-parameteren.

NB: Din side ser _meget_ mærkelig ud - såvel brugernavns- som
password-felterne er gentaget mange gange efter hinanden (dog kun
med første felt i gruppen aktivt.
--
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

Anders Nielsen (26-01-2003)
Kommentar
Fra : Anders Nielsen


Dato : 26-01-03 12:18

>Og herover er forklaringen. Du sender formen til resursen "action"
>- ret det til den fil der skal håndtere formen.
>Hvis det er samme fil kan du også blot slette action-parameteren

Jeg siger tak, slettede "action"....

Nu får jeg så bare en fejl når jeg trykker på "opret" der siger:

Your entry for user is inappropriate!
Your entry for password is inappropriate!

Jeg går ud fra det er følgende kode jeg har en fejl i... så det bare
lige hvad???

strUser = Trim(strUser)
   If Len(strUser) = 0 Or Len(strUser) > 10 Then Err.Raise 1
   strUser = Replace(strUser, "'", "''")
   If Err.number <> 0 Then
      strErrorMsg = strErrorMsg & "Your entry for user is " & _
         "inappropriate!<br />" & vbCrLf
      Err.Clear


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

Jens Gyldenkærne Cla~ (26-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-01-03 21:53

Anders Nielsen skrev:

> Nu får jeg så bare en fejl når jeg trykker på "opret" der
> siger:
>
> Your entry for user is inappropriate!
> Your entry for password is inappropriate!

Note: Det var måske en ide at oplyse _hvad_ der er galt med
indtastningen (dvs. at et brugernavn eller password skal være
mellem 1 og 9 tegn langt).

> Jeg går ud fra det er følgende kode jeg har en fejl i... så
> det bare lige hvad???

Det er en god ide at bruge fejlhåndtering, sådan som du gør pt. Men
mens du tester siderne (indtil de fungerer som de skal) er det ikke
en god ide at erstatte de almindelige asp-fejlmeddelelser med sine
egne. Jeg vil skyde på at du har en "On Error Resume Next" placeret
et sted, for at få din fejlhåndtering til at virke korrekt. Med den
slået til - og når du udskriver en selvvalgt fejlbesked i stedet
for den indbyggede - kan du ikke se om fejlen opstår fordi du
kalder den (med Err.Raise) eller den opstår af en anden årsag.

Jeg vil foreslå enten at slå On Error-sætningen fra, eller evt.
blot at tilføje Err.Number og Err.Message til response-outputtet i
fejlhåndteringen.
--
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

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

Månedens bedste
Årets bedste
Sidste års bedste