Avatar billede jmc Nybegynder
24. juni 2001 - 13:23 Der er 9 kommentarer og
1 løsning

email parsing + dagsdato opdatering

Hvordan sender jeg en email+dagsdato (som tastes i et andet field) med når en record skal opdateres? email + dags dato skal benyttes til at opdatere en record som brugeren ikke ser!

Jeg har en database med feltet \"programID\" og jeg vil gerne sende den email som brugeren taster ind i formen til datafeltet \"programID\" i databasen. Emailen skal PARSES så mailen er uden (.) og (@) (punkttum og snabel A). Herefter skal dato tilføjes i \'short\' form!

Den som kan rette følgende asp så det virker modtager points!

<%@LANGUAGE=\"VBSCRIPT\"%>
<!--#include file=\"Connections/bo.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_bo_STRING
  MM_editTable = \"tblUser\"
  MM_editRedirectUrl = \"office_reg.asp\"
  MM_fieldsStr  = \"name|value|email|value|username|value|password|value|hostname|value\"
  MM_columnsStr = \"name|\',none,\'\'|email|\',none,\'\'|username|\',none,\'\'|password|\',none,\'\'|hostname|\',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
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<form method=\"post\" action=\"<%=MM_editAction%>\" name=\"form1\">
  <table align=\"center\">
    <tr valign=\"baseline\">
      <td nowrap align=\"right\">Name:</td>
      <td>
        <input type=\"text\" name=\"name\" value=\"\" size=\"32\">
      </td>
    </tr>
    <tr valign=\"baseline\">
      <td nowrap align=\"right\">Email:</td>
      <td>
        <input type=\"text\" name=\"email\" value=\"\" size=\"32\">
      </td>
    </tr>
    <tr valign=\"baseline\">
      <td nowrap align=\"right\">Username:</td>
      <td>
        <input type=\"text\" name=\"username\" value=\"\" size=\"32\">
      </td>
    </tr>
    <tr valign=\"baseline\">
      <td nowrap align=\"right\">Password:</td>
      <td>
        <input type=\"text\" name=\"password\" value=\"\" size=\"32\">
      </td>
    </tr>
    <tr valign=\"baseline\">
      <td nowrap align=\"right\">Hostname:</td>
      <td>
        <input type=\"text\" name=\"hostname\" value=\"\" size=\"32\">
      </td>
    </tr>
    <tr valign=\"baseline\">
      <td nowrap align=\"right\">&nbsp;</td>
      <td>
        <input type=\"submit\" value=\"Insert Record\">
      </td>
    </tr>
  </table>
  <input type=\"hidden\" name=\"MM_insert\" value=\"true\">
  <input type=\"hidden\" name=\"programID\" value=\"<%=now()%>\">
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
Avatar billede dichael415 Nybegynder
24. juni 2001 - 13:29 #1
KLART KLART :......ORANGE
Avatar billede jmc Nybegynder
24. juni 2001 - 13:42 #2
Hvad skal ORANGE betyde? hentyder du til en reklame?
Avatar billede sv Nybegynder
24. juni 2001 - 13:50 #3
parsing af email
(teoretisk)
strEmail = request.form(\"email\")
strEmail = replace(strEmail, \".\", \"\")
strEmail = replace(strEmail, \"@\". \"\")
dDate = Date(request.Form(programid))

sql = \"insert into tblUser (ProgramID) VALUES (\'\" & strEmail & dDate & \"\')\"

ville være mit bud....
Men din Ultradev et eller andet generet kode er lidt uoverskuelig, så jeg magter ikke lige at bruge tid på at sætte det ind.....

Avatar billede sv Nybegynder
24. juni 2001 - 14:00 #4
\' Dette er klippet ud af din kode....
Set MM_editCmd = Server.CreateObject(\"ADODB.Command\")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute

\' Dette her jeg så tilføjet (c) sv ;-)
\'Parser emailen
strEmail = request.form(\"email\")
strEmail = replace(strEmail, \".\", \"\")
strEmail = replace(strEmail, \"@\". \"\")
\'Parser datoen fra programid hiddenfielded i formen.
dDate = Date(request.Form(programid))
\'Sætter det sammen til en str
strIns = strEmail & dDAte

MM_editCmd.CommandText = \"insert into tblUser (ProgramID) VALUES (\'\" & strIns &\"\')\"
    MM_editCmd.Execute
\'Her slutter det jeg har sat ind.... Paste dette ind i din kode, det rette sted, og måske er du kørende....
Avatar billede jmc Nybegynder
24. juni 2001 - 15:31 #5
Jeg tror at den er tæt på, men den laver en fejl!:

Der opstod en Microsoft VBScript-kompileringsfejl fejl \'800a03f2\'

ID var ventet

/director/opret.asp, linje 90

strEmail = replace(strEmail, \"@\". \"\")
----------------------------------^
Avatar billede sv Nybegynder
24. juni 2001 - 16:36 #6
\'denne linie
strEmail = replace(strEmail, \"@\". \"\")
\'Laves om til denne:
strEmail = replace(strEmail, \"@\", \"\")
Avatar billede jmc Nybegynder
24. juni 2001 - 17:47 #7
Jeg har droppet dato og benytter en fast værdi som kommer fra request.form(\"select_program\")

Koden ser nu sådan ud:

\'Parser emailen
strEmail = request.form(\"email\")
strEmail = replace(strEmail, \".\", \"\")
strEmail = replace(strEmail, \"@\", \"\")
\'Parser datoen fra programid hiddenfielded i formen.
response.write(request.form(\"select_program\"))
prog = request.form(\"select_program\")
\'Sætter det sammen til en str
strIns = prog & strEmail
response.write(strIns)

MM_editCmd.CommandText = \"insert into tblUser (ProgramID) VALUES (\'\" & strIns &\"\')\"
    MM_editCmd.Execute

og giver fejlen:
navnemaildk
Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a01a8\'

Et objekt er obligatorisk: \'\'

/director/create_account.asp, linje 98

LINIE 98 ER:
MM_editCmd.CommandText = \"insert into tblUser (ProgramID) VALUES (\'\" & strIns &\"\')\"

laver jeg en fejl?
Avatar billede jmc Nybegynder
24. juni 2001 - 18:37 #8
Jeg kommer vist ikke videre, der er noget galt med linie 98 og det ligner ikke sætningskonstruktionen, ellers tak for hjælpen!
Avatar billede jmc Nybegynder
24. juni 2001 - 20:53 #9
er det ikke nok at der findes et felt ved navn CallID ???


sådan:

MM_editCmd.CommandText = \"insert into tblreg (callID) VALUES (\'\" & strIns &\"\')\"


Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a01a8\'

Et objekt er obligatorisk: \'\'

/director/create_account.asp, linje 98

Avatar billede sv Nybegynder
24. juni 2001 - 21:40 #10
det betyder at der ikke er åbnet til db\'en
MM_editConnection = MM_bo_STRING
Set MM_editCmd = Server.CreateObject(\"ADODB.Command\")
    MM_editCmd.ActiveConnection = MM_editConnection

er i den forbindelse nogle essentielle linier !
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