Avatar billede plato Juniormester
07. oktober 2002 - 01:56 Der er 6 kommentarer og
2 løsninger

Hvordan afsluttes ASP Script når der er 2?

Jeg har 2 ASP scripts på min forside ( http://www.trailersiden.dk ) Det ene er 'Anbefal siden' det andet er ' Nyhedsbrev '.
Når jeg anbefaler siden til en ven, virker det fint. Men når jeg skriver en mailaddy til nyhesbrev og trykker 'Tilmeld/Frameld' reagerer 'Anbefal siden' også. Er det til at forstå ellers prøv selv.

Der kommer lige en bus:

<table border="0" cellpadding="3" cellspacing="0" width="200" height="90">
               
                        <tr>
                            <td  colspan="2">
           
                                <span id="font2">Anbefal siden til en ven</span>
                                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                                <html>


                                <%

                                navn = request("navn")

                                if  Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
                                    Set JMail = Server.CreateObject("JMail.SMTPMail")
                                    JMail.ContentTransferEncoding = "8bit"           
                                    JMail.Charset = "ISO-8859-1"
       
                                    JMail.Priority = 1
                                    JMail.ServerAddress = "mail.trailersiden.dk"
                                    JMail.Sender = "admin@trailersiden.dk"
                                    JMail.Subject = "Anbefaling"
                                    JMail.Body = "Hej!" & vbCrLf & "Det er " & navn & vbCrLf & vbCrLf
                                    JMail.Body= JMail.Body + "Jeg synes lige du skulle tage et kig på denne her side!" & vbCrLf & vbCrLf
                                    JMail.Body= JMail.Body + "www.trailersiden.dk." & vbCrLf & "En hjemmeside fyldt med filmtrailers, information om film m.m." & vbCrLf & vbCrLf
   
                                    JMail.AddRecipient request("ad")
                                    ' Send it...
                                    JMail.Execute
                                    set JMail = nothing
                                response.write " Tak.<br><br>Din anbefaling er sendt til " & request("ad")

   

                                else %>

                                <form action="anbefal.asp" METHOD="POST">
                                    <table cellpadding="2" cellspacing="2" border="0" width="200">
                                            <tr>
                                            <td><center>
                                            <p></p>
                                            </center></div></td>
                                          </tr>
                                            <tr>
                                              <td><input TYPE="TEXT" onFocus="this.form.ad.select()" value="Modtagerens e-mail" NAME="ad" SIZE="25"> </td>
                                          </tr>
                                            <tr>
                                              <td><input TYPE="TEXT" onFocus="this.form.navn.select()" value="Afsenderens navn" NAME="navn" SIZE="25"> </td>
                                            </tr>
                                          <tr>
                                            <td><input type="submit" value="Send"> </td>
                                          </tr>
                                          </table>
                                        </form>
                                        <%    end if%>
                            </td>
                        </tr>
                    </table>
                </td>
                <td align="left">


                            <table width="200" height="200" border="0" cellpaddin="0" cellspacing="0">

    <tr>
        <td>



            <% language="vbscript"%>
<!-- #INCLUDE FILE="mailliste/email_config.asp" -->
<!-- #INCLUDE FILE="mailliste/email_prefs.asp" -->



<%



action=Request("action")
Select Case action
Case "sub"
addemailaddy()
Case "unsub"
removeemailaddy()
Case Else
subform()
End Select

Function subform()
toptable
%>
<tr>
    <td colspan=2 align="center"><span id="font2">Tilmeld/Frameld nyhedsbrev.</span><br>
                                <form action="<%=scriptname%>" method=post>
                                <input type=text name="emailaddy" size=20>
    </td>
</tr>
<tr>
    <td align="center"><Select name="action">     <option name=action value="sub">Tilmeld</option>
                                <option name=action value="unsub"><span id="font2">Frameld</span></option></Select>
    </td>
</tr>
<tr>
    <td colspan=2 align="center"><input class="buttons" type=submit value="Tilmeld/Frameld"></form>
    </td>
</tr>
<%
bottomtable
End Function

Function addemailaddy()
    toptable
    Response.write "<tr><td colspan=""2"">"
    newemailaddy=Request.Form("emailaddy")
    logfile = Server.MapPath("mailliste/email-list.txt")
    dateadded=date()
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objCountFile = objFSO.OpenTextFile(logfile, 1, True)
    news = objCountFile.ReadAll
    objCountFile.Close
    Set objCountFile = Nothing   
    Set objFSO = Nothing
    userrecord=Split(news, "**")
    numrecords = Ubound(userrecord)
    flag=0
    finalstr=""
    for i = 1 to numrecords
    counter=Split(userrecord(i), "%%")
    If counter(0)=newemailaddy Then
        flag=1
    Else
        ' Do nothing
    End If
    Next
    If flag=0 Then
        If newemailaddy = "" Or Not IsValidEmail(newemailaddy) Then
            Response.write "Forkert email"
        Else
            Set objFSO = Server.CreateObject("Scripting.FileSystemObject")   
            Set objCountFile = objFSO.OpenTextFile(logfile, 1, True)
            news = objCountFile.ReadAll
            objCountFile.Close
            Set objCountFile = Nothing   
            Set objFSO = Nothing
            atempip = Request.ServerVariables("REMOTE_ADDR")
            finalstr=news & "**" & newemailaddy & "%%" & dateadded & "||" & atempip & "||0"
            Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
            Set objTextFile = objFSO.CreateTextFile(logfile)
            objTextFile.WriteLine finalstr
            objTextFile.Close
            Set objTextFile = Nothing
            Set objFSO = Nothing
            Response.Write "Du er tilf&oslash;jet: " & newemailaddy & ""
            sendemail newemailaddy, welcometitle, welcomemessage
        End If
    Else
        Response.Write "Du er tilmeldt: " & newemailaddy & " "
    End If
    Response.Write "</td></tr>"
    bottomtable
End Function






%>
        </td>
    </tr>
</table>
Avatar billede bondester Nybegynder
07. oktober 2002 - 08:20 #1
Jeg ville foreslå at du delte det op i 2 sektioner, Anbefal siden og Nyhedsbrev. Så kunne du lave en Querystring til at identificere de 2 forskellige sektioner med.

Altså :

<%
If Request.Querystring("mode") = "anbefal" Then
%>
                  HELE ANBEFAL DELEN
<%
End If

If Request.Querystring("mode") = "nyhedsbrev" Then
%>
                  HELE NYHEDSBREV DELEN
<%
End If
%>
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 08:21 #2
Det er fordi du tjekker med følgende:
if  Request.ServerVariables("REQUEST_METHOD") = "POST" then
Dvs. at du tjekker om METHOD er POST og det er den i begge tilfælde måske skulle du sætte en variable f.eks. Action ind og så skrive Anbefal eller Nyhedsbrev og så tjekke på det istedet for :-)
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 08:21 #3
Det var selvfølgelig et svar :-)
Avatar billede plato Juniormester
07. oktober 2002 - 09:16 #4
hbhansen.

Jeg er ikke lige helt med, mener du sådan her:

if  Request.ServerVariables("REQUEST_METHOD") = "Anbefal" then ?

Troede det skulle være "POST"

Mvh Plato
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 09:24 #5
Nej jeg mener ligesom cowman gør at du laver en variable "mode" og så gør

<%
If Request.Querystring("mode") = "anbefal" Then
%>
                  HELE ANBEFAL DELEN
<%
End If

If Request.Querystring("mode") = "nyhedsbrev" Then
%>
                  HELE NYHEDSBREV DELEN
<%
End If
%>
Avatar billede plato Juniormester
07. oktober 2002 - 09:34 #6
hbhansen..

Det har jeg prøvet, men så viser den slet ingenting. Det gør vel ikke noget koderne er uden for en table?

Kan du skrive det ind i koden og så poste det hele igen?

Mvh Plato
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 09:44 #7
Hmm, det er lidt af et stykke arbejde, men groft sagt så skal du have adskildt de to ting, nyhedsbrev og anbefal. Problemet er at du når du trykker på timeld/afmeld køre hele koden igen også anbefald. derfor skal du lave et tjekt inden anbefald som tjekker om det er tilmeld/frameld brugeren har trykket på. Hvis ikke så skal den gøre anbefald eller skal den ikke.
Avatar billede plato Juniormester
07. oktober 2002 - 09:46 #8
hbhansen..

Okies.. Jeg prøver at rode med det. Ellers vender jeg tilbage. ;o)
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