HTTP fejl
HejJeg får denne fejl: HTTP-fejl 400 Forkert anmodning, når jeg "kører" en af
mine asp sider. Mere præsicst har jeg en side hvorpå der er en form-code som
sender data vidre til den samme asp fil med et andet mode. Den behandler så
dataene og redirecter til den samme fil igen, men med et andet mode. Her er
sendkoden:
<form action="bestilling.asp?mode=Godkend" method="POST">
<table cellspacing=0 style="border: 1px solid rgb(0,0,0)"
bgcolor="#84A068">
<tr><td width="40">Fornavn: </td><td width="150"><input type="text"
size="30" name="fornavn"></td></tr>
<tr><td>Efternavn:</td><td><input type="text" size="30"
name="efternavn"></td></tr>
<tr><td>Adresse: </td><td><input type="text" size="30"
name="adresse"></td></tr>
<tr><td>Post nr:</td><td><input type="text" size="4"
name="postnr"></td></tr> <tr>
<tr><td>By:</td><td><input type="text" size="30"
name="City"></td></tr>
<tr><td>E-mail:</td><td><input type="text" size="30"
name="email"></td></tr>
<tr><td>Telefon nr: </td><td><input type="text" size="30"
name="telefon"></td></tr> <tr>
<tr><td><input type="submit" name="Action"
value="Videre"></td><td> </td></tr>
</table>
</form>
Koden der modtager:
Oplys = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("/data/kunder.mdb")
Set Forbindelse = Server.CreateObject("ADODB.Connection")
Forbindelse.Open Oplys
for each x in request.form
if request.form(x) = "" then
response.redirect "bestilling.asp?mode=fejlm"
end if
next
StrSql = "SELECT * FROM Kunder Where Email = '" & Request.Form("Email") &
"'"
Set rs = Forbindelse.Execute(StrSql)
If rs.BOF Or rs.EOF Then
Black = "Nej"
SQL = "INSERT INTO Kunder ( Fornavn, Efternavn, Adresse, Postnr, City,
Email, Telefon, Blacklistet ) values ( '" & Request.Form("Fornavn") & "', '"
& Request.Form("Efternavn") & "', '" & Request.Form("Adresse") & "', '" &
Request.Form("Postnr") & "', '" & Request.Form("City") & "' , '" &
Request.Form("Email") & "', '" & Request.Form("Telefon") & "', '" & Black &
"' )"
Forbindelse.execute (SQL)
Else
dim tjek
if request.form("Fornavn") = rs("Fornavn") then tjek = tjek + 1
if request.Form("Efternavn") = rs("Efternavn") then tjek = tjek + 1
if request.Form("Adresse") = rs("Adresse") then tjek = tjek + 1
if request.Form("Postnr") = rs("Postnr") then tjek = tjek + 1
if request.Form("City") = rs("City") then tjek = tjek + 1
if request.Form("Telefon") = rs("Telefon") then tjek = tjek + 1
if tjek = 6 then response.redirect "bestilling.asp?mode=forbestil&id= '" &
rs("Email") & "'"
if tjek < 6 then response.redirect ("bestilling.asp?mode=Fejl")
End If
Forbindelse.Close
Set Forbindelse = Nothing
response.redirect "bestilling.asp?mode=forbestil&id= '" &
Request.Form("Email") & "'"
Og til sidst den kode der redirectes til:
ide = (lcase(request("Id")))
Oplys = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("/data/kunder.mdb")
Set Forbindelse = Server.CreateObject("ADODB.Connection")
Forbindelse.Open Oplys
StrSql = "SELECT * FROM Kunder Where Email = " & ide
Set rs = Forbindelse.Execute(StrSql)
+ kald til nogle subs der udsrkiver tabeller på skærmen.
Fejlen opstår kun når jeg bruger Netscape. Hvad kan det skylde. Her den
fulde fejlmeddelelse:
HTTP-fejl 400
400 Forkert anmodning
Anmodningen kunne ikke forstås af serveren på grund af forkert udformet
syntaks. Klienten bør foretage ændringer, før anmodningen gentages.
På forhånde tak, og undskyld det lange indlæg,
Jannick