Avatar billede andersasp Nybegynder
26. november 2002 - 23:12 Der er 4 kommentarer og
1 løsning

Redirect problem!

Hejsa eksperter!

Jeg skal bruge en funktion som skal kunne sortere nogle bestemte data når de bliver kørt i en form!

Det den skal gøre når man klikker sig videre fra nedenstående side ”start.asp”, er at den skal checke i ”Fkunder” efter databasefeltet ”Mtelefon” hvis telefonnummeret eksisterer skal den kigge i feltet ”Mtid” og hvis ”Mtid” er under 90 skal den redirecte til ”sidenej.asp” og hvis ”Mtid” er over 90 skal den redirecte til ”sideja.asp”.

Hvis telefonnummeret ikke eksisterer i databasen skal den bare redirecte til ”sideja.asp”

Håber der er nogle der kan hjælpe da jeg er lidt lost på dette område!

Siden er pasted forneden!
-----------------------------------------------------------------------------------------
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../../Connections/database.asp" -->
<%
set kunder = Server.CreateObject("ADODB.Recordset")
kunder.ActiveConnection = MM_frisor_STRING
kunder.Source = "SELECT * FROM Fkunder"
kunder.CursorType = 0
kunder.CursorLocation = 2
kunder.LockType = 3
kunder.Open()
kunder_numRows = 0
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../style1.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="sideja.asp">
  <table width="50%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="15%">Telefon:<font color="#FF0000">*</font></td>
      <td width="85%">
        <input type="text" name="Mtelefon" size="10" value="<%= Request.Form("telefon") %>">
      </td>
    </tr>
  </table>
  <br>
  <p>
    <input type="submit" name="Submit" value="K&oslash;r form">
    <br>
  </p>
</form>
</body>
</html>
<%
kunder.Close()
%>
Avatar billede coltau Juniormester
26. november 2002 - 23:30 #1
Jeg mener at du kan lave sideja.asp sådan: (Jeg har desværre ikke mulighed for at teste det.)

%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../../Connections/database.asp" -->
<%
set kunder = Server.CreateObject("ADODB.Recordset")
kunder.ActiveConnection = MM_frisor_STRING
kunder.Source = "SELECT * FROM Fkunder where MTelefon='" & Request.Form("telefon") & "'"
kunder.Open()
if not Kunder.eof and CStr(Kunder("MTid")) < 90 then
  Response.Redirect("sidenej.asp") ' Spring til sidenej.asp
else
  ' Ellers udfør sideja.asp
end if

<%
kunder.Close()
%>

Ovenstående kode er sideja.asp
Den finder telefon og kontrollere om MTid < 90 - hvis ja så redirectes til sidenej.asp

Jeg går ud fra at MTelefon er et tekst felt. Hvis det er et talfelt skal sql-sætningen ændres til:

kunder.Source = "SELECT * FROM Fkunder where MTelefon=" & Request.Form("telefon")
Avatar billede coltau Juniormester
26. november 2002 - 23:31 #2
Hov CStr skal ændres til CInt i denne linie:

if not Kunder.eof and CStr(Kunder("MTid")) < 90 then

Altså:
if not Kunder.eof and CInt(Kunder("MTid")) < 90 then
Avatar billede andersasp Nybegynder
26. november 2002 - 23:54 #3
Nu virker det "næsten" med nedenstående - hvis telefonnummeret er i databasen og feltet "Mtid" er under 90 tager den siden sidenej.asp men hvis telefonnummeret ikke er i databasen! skriver den:

error '80020009'
Exception occurred.

/sideja.asp, line 20


---------------------------------------------------------------
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../../Connections/database.asp" -->
<%
Dim kunder__MMColParam
kunder__MMColParam = "1"
if (Request.Form("Mtelefon") <> "") then kunder__MMColParam = Request.Form("Mtelefon")
%>
<%
set kunder = Server.CreateObject("ADODB.Recordset")
kunder.ActiveConnection = MM_frisor_STRING
kunder.Source = "SELECT * FROM Fkunder WHERE Ktelefon = '" + Replace(kunder__MMColParam, "'", "''") + "'"
kunder.CursorType = 0
kunder.CursorLocation = 2
kunder.LockType = 3
kunder.Open()
kunder_numRows = 0
%>
<%
if not Kunder.eof and CInt(Kunder("MTid")) < 90 then
  Response.Redirect("sidenej.asp") ' Spring til sidenej.asp
else
  ' Ellers udfør sideja.asp
end if
%>
<%
kunder.Close()
%>
Avatar billede coltau Juniormester
27. november 2002 - 00:05 #4
Det er klart - min fejl.

Disse linier skal ændres.

<%
if not Kunder.eof and CInt(Kunder("MTid")) < 90 then
  Response.Redirect("sidenej.asp") ' Spring til sidenej.asp
else
  ' Ellers udfør sideja.asp
end if
%>

til:

<%
Ok = not Kunder.eof
if Ok then
  Ok = CInt(Kunder("MTid")) < 90
end if

if Ok then
  Response.Redirect("sidenej.asp") ' Spring til sidenej.asp
else
  ' Ellers udfør sideja.asp
end if
%>

Så fejler den ikke
Avatar billede andersasp Nybegynder
27. november 2002 - 00:10 #5
Du er for sej!!  tak skal du have!!!
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