23. marts 2005 - 19:13Der er
7 kommentarer og 1 løsning
Hjælp til at gemme indstilling i en formular
<%tai- Jeg har en formular hvor mine brugere kan gå ind og afkrydse nogle afkrydsningsfelter om de vil modtage en e-mail når de modtager en intern besked og om de vil have vist besked monitor, men mit spørgsmål går på hvordan gemmer jeg det sådan at når en bruger eksempelvis krydser af at han vil have en e-mail når han modtager en internbesked, jeg bruger ASP (VBScript) og MS Access Database sammen med ODBC og Dreamweaver (design visning) -tech2006%>
Der er 2 muligheder, alt afhængig af hvordan dine brugere administreres.
1. Hvis de logger ind med et unikt password/brugernavn og derved er unikke brugere, så kan informationen omkring afkrydsning i formularfeltet gemmes i databasen og bruges til at vise formularen korrekt
2. Hvis dine brugere ikke er unikke, så må du ty til cookies (og alle de udfordringer der følger hermed ....)
jammen de logger ind med unikke brugernavne og password... altså eksempelvis en bruger afkrydser feltet Send en e-mail ved intern besked så sættes teksten On ind i feltet modtagerinternbesked...
Dvs brugeren logger ind og så vil du fortælle om han er tilmeldt intern besked :
så skal du lave noget ved din input knap <input type="checkbox" value="vaerdi" name="Feltnavn" <% if rs("modtagerinternbesked") = "On" then response.write(" checked") %>>
altså min kildekode til siden hvor formularen er ser sådan her ud: <%@LANGUAGE="VBSCRIPT"%> <!--#include file="../Connections/danling.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 = "" %> <% ' *** Update Record: set variables
If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then
' 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 %> <% ' *** Update Record: construct a sql update statement and execute it
If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then
' create the sql update statement MM_editQuery = "update " & MM_editTable & " set " 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_editQuery = MM_editQuery & "," End If MM_editQuery = MM_editQuery & MM_columns(i) & " = " & FormVal Next MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId
If (Not MM_abortEdit) Then ' execute the update 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
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.