Avatar billede montago Praktikant
07. juni 2003 - 21:22 Der er 9 kommentarer og
1 løsning

problem med redirect, ved indsætning af data til DB

efter indsættelse af data til database, skal brugeren falde tilbage til en side, sammen med en href ?navn= kommando...

tilgang til siden :
tilføj.asp?navn=<%=(Recordset1.Fields.Item("navn").Value)%>

indhold af tilføj.asp

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/Familien.asp" -->
<%
' *** Edit Operations: declare variables

MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) <> "") Then

  MM_editConnection = MM_Familien_STRING
  MM_editTable = "Gaveliste"
  MM_editRedirectUrl = "Ønskeliste.asp"
  MM_fieldsStr  = "textfield6|value|textfield|value|textfield2|value|textfield3|value|textfield4|value|textfield5|value"
  MM_columnsStr = "navn|',none,''|gave|',none,''|købested|',none,''|cirkapris|',none,''|prioritet|',none,''|Specs|',none,''"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")
 
  ' set the form values
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    FormVal = MM_fields(i+1)
    MM_typeArray = Split(MM_columns(i+1),",")
    Delim = MM_typeArray(0)
    If (Delim = "none") Then Delim = ""
    AltVal = MM_typeArray(1)
    If (AltVal = "none") Then AltVal = ""
    EmptyVal = MM_typeArray(2)
    If (EmptyVal = "none") Then EmptyVal = ""
    If (FormVal = "") Then
      FormVal = EmptyVal
    Else
      If (AltVal <> "") Then
        FormVal = AltVal
      ElseIf (Delim = "'") Then  ' escape quotes
        FormVal = "'" & Replace(FormVal,"'","''") & "'"
      Else
        FormVal = Delim + FormVal + Delim
      End If
    End If
    If (i <> LBound(MM_fields)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End if
    MM_tableValues = MM_tableValues & MM_columns(i)
    MM_dbValues = MM_dbValues & FormVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
if (Request.QueryString("navn") <> "") then Recordset1__MMColParam = Request.QueryString("navn")
%>
<%
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_Familien_STRING
Recordset1.Source = "SELECT * FROM Gaveliste WHERE navn = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0
%>
<html>
<head>
<title>Familie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#0099FF" vlink="#00FF00" alink="#00FFFF">
<h3>Tilf&oslash;j et &oslash;nske til <%=request.querystring("navn")%> 's liste</h3>
<form name="form1" method="POST" action="<%=MM_editAction%>">
  <table width="450" border="0">
    <tr>
      <td>listens ejer (m&aring; ikke &aelig;ndres)</td>
      <td>
        <input type="text" name="textfield6" value="<%=request.querystring("navn")%>">
      </td>
    </tr>
    <tr>
      <td>&Oslash;nskenavn (fx. teddybj&oslash;rn) :</td>
      <td>
        <input type="text" name="textfield">
      </td>
    </tr>
    <tr>
      <td>Hvor hulan k&oslash;bes den ? :</td>
      <td>
        <input type="text" name="textfield2">
      </td>
    </tr>
    <tr>
      <td>Hvad koster tingen s&aring;n ca. ? :</td>
      <td>
        <input type="text" name="textfield3">
      </td>
    </tr>
    <tr>
      <td>hvor meget &oslash;nskes den ? (1-10+) :</td>
      <td>
        <input type="text" name="textfield4">
      </td>
    </tr>
    <tr>
      <td>Specifikationer (str; m&aelig;rke, farve, version, osv. )</td>
      <td>
        <textarea name="textfield5"></textarea>
      </td>
    </tr>
    <tr>
      <td>tilf&oslash;j &oslash;nsket</td>
      <td>
        <input type="submit" name="Submit" value="Tilf&oslash;j">
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="true">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
Recordset1.Close()
%>

Hvad hulan gør jeg...
siden er lavet i Ultradev
Avatar billede ellebaek Nybegynder
07. juni 2003 - 21:34 #1
Jeg har meget svært ved at overskue din kode...

Hvis du vil lære at skrive ASP sider vil jeg foreslå dig at lave design i Ultradev, men lave asp i notepad/stones eller nogle andre i den stil. Det giver et bedre indblik i koden, samtidig med at det bliver meget mere overskueligt på den måde...

Kan du ikke forklare dit problem lidt tydeligere. Jeg kan ikke helt se hvad du vil..?
Avatar billede longshanks Nybegynder
07. juni 2003 - 21:44 #2
Efter denne linie:
MM_editCmd.ActiveConnection.Close

Response.Redirect "dinside.asp?navn=kommando"
....osv
Avatar billede ellebaek Nybegynder
07. juni 2003 - 21:52 #3
longshanks ->
det er det de efterfølgende linier gør:

MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
Avatar billede montago Praktikant
07. juni 2003 - 22:11 #4
til ellebæk... jeg fatter mestedelen... problemet er at jeg har prøvet følgende inputs i MM_editRedirectUrl = "Ønskeliste.asp"

MM_editRedirectUrl = "Ønskeliste.asp?navn=request.questring("navn")"
MM_editRedirectUrl = "Ønskeliste.asp?navn=request.querystring("navn")"
MM_editRedirectUrl = "Ønskeliste.asp?{Recordset1.navn}"

ingen af dem virker ?
Avatar billede montago Praktikant
07. juni 2003 - 22:15 #5
infter indsættelsen, bruges MM_editRedirectUrl til at sende brugeren videre...

jeg vil gerne videresende informationer via ?text=value kommandoen...

ellers skal jeg bruge noget hjælp med Ultradev, da ultradev sikker selv ved hvordan man skal videresende data
Avatar billede ellebaek Nybegynder
07. juni 2003 - 22:39 #6
' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If


Får du ikke alt det querystring med som du skal bruge i det ovenstående ??
Avatar billede montago Praktikant
07. juni 2003 - 23:00 #7
det skulle man tro...

men for at være 100% sikker på at gutten som indsætter ting i "recorden" ryger tilbage til den side han kom fra... som kræver en ?navn sætning for at blive vist... skal der medbringes en meget unik information... i ?navn= sætningen
Avatar billede montago Praktikant
07. juni 2003 - 23:02 #8
fx... når der slettes records... bruges en ?key= kommando...
og når denne redirectes... vil pågædende ?key= være slettet, idet denne var brugt som unik række-parameter i databasen
Avatar billede montago Praktikant
07. juni 2003 - 23:04 #9
fandens... nu virker det...

lidt kringlet... og usikker måde... men det virker
Avatar billede ellebaek Nybegynder
16. september 2003 - 22:45 #10
Skal du ikke have lukket dette spg. så..?
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

IT-JOB