webForumDet fria alternativet

Vad är felet? Mail script

ASP

4 svar · 1 061 visningar · startad av nilleonline

Medlem sedan sep. 2006119 inlägg
Frågan#1
<%@LANGUAGE="VBSCRIPT" CODEPAGE="CP_ACP"%>
<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
%>
<%
Function CheckCAPTCHA(valCAPTCHA)
	SessionCAPTCHA = Trim(Session("CAPTCHA"))
	Session("CAPTCHA") = vbNullString
	if Len(SessionCAPTCHA) < 1 then
        CheckCAPTCHA = False
        exit function
    end if
	if CStr(SessionCAPTCHA) = CStr(valCAPTCHA) then
	    CheckCAPTCHA = True
	else
	    CheckCAPTCHA = False
	end if
End Function
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
</head>
<body>
<form action="kontakt.asp" method="post"  name="maila" onSubmit="return tecken()">
<p class="form"><input name="namn" type="text" class="formstyle" tabindex="1" size="35" /><label for="namn"><small>Namn</small></label></p>
<p class="form"><input name="email" type="text" class="formstyle" tabindex="2" size="35" /><label for="email"><small>E-mail</small></label></p>
<p><textarea name="meddelande" cols="60" rows="8" class="formstyle" tabindex="3"></textarea></p>
<img src="aspcaptcha.asp" alt="This Is CAPTCHA Image" width="86" height="21" />
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
	strCAPTCHA = Trim(Request.Form("strCAPTCHA"))
	if CheckCAPTCHA(strCAPTCHA) = true then
		%>
<strong>Meddelandet har skickats! (<%=strCAPTCHA%>)</strong>
		<%
	else
		%>
<strong>Fel kod, försök igen</strong>
		<%
	end if 
end if
%>
<p><input name="strCAPTCHA" type="text" id="strCAPTCHA" class="formstyle" tabindex="4" size="15" /><label for="strCAPTCHA"><small>Skriv siffrorna i bilden ovan.</small></label>
<form method="post" name="frm" /></p>

<p><input type="submit" class="send" onClick="postComment();" value="Skicka medelande" /></p>
</form>
</div>

<!-- SEND -->

<%
Namn = Request.Form("Namn") 
Email = Request.Form("Email") 
Meddelande = Replace(Request.Form("Meddelande"), vbCrLf, "<BR>" & vbCrLf)

Set jmail = Server.CreateObject("JMail.Message") 

jmail.AddRecipient "nille@nilleonline.com"
jmail.From = "" & Email & "" 
jmail.Subject = "Kontakta mig!" 
jmail.Body = "Meddelande via hemsidan skickades " & Now & ""
jmail.appendHTML "<b>Meddelande via hemsidan</b><br>"
jmail.appendHTML "<b>Skickades:</b>  " & Now & "<br>"
jmail.appendHTML "<b>Namn: </b> " & Namn & "<br>"
jmail.appendHTML "<b>E-mail: </b> " & Email & "<br>"
jmail.appendHTML "" & Meddelande & "<br>"

jmail.Send ("smtp.cliche.se")
%>
</body>
</html>

Vad är det som gör att scriptet inte funkar? Någon som har lust att förklara hur jag får det att fungera? Misstänker att jag måste koppla send scriptet till action i formuläret, men hur gör jag det?

Medlem sedan sep. 2006119 inlägg
#2

Ingen som kan ta en titt på scriptet?

Medlem sedan juni 20019 519 inlägg
#3

vad är det som inte fungera? felmeddelande eller?
action="kontakt.asp" är det kontakt.asp vi ser? känns inte som det är en bra idé att göra på det sättet som du skriver.
för efter <!--send --> så går den ändå vidare... det har inget med din action att göra utan när jag skulle besöka din sida så försöker den skicka ett tomt mail då:

Namn = Request.Form("Namn") 
Email = Request.Form("Email")

inte har fått något värde.

du skulle kunna skriva:

If len(Email &"") > 0 And len(Namn &"") > 0 Then
  Set jmail = Server.CreateObject("JMail.Message") 
  jmail.AddRecipient "nille@nilleonline.com"
  jmail.From = "" & Email & "" ' & "" i slutet behöver du inte ha här. går lika bra att skriva  [b]jmail.From = "" & Email [/b]
  jmail.Subject = "Kontakta mig!" 
  jmail.Body = "Meddelande via hemsidan skickades " & Now & ""
  jmail.appendHTML "<b>Meddelande via hemsidan</b><br>"
  jmail.appendHTML "<b>Skickades:</b>  " & Now & "<br>"
  jmail.appendHTML "<b>Namn: </b> " & Namn & "<br>"
  jmail.appendHTML "<b>E-mail: </b> " & Email & "<br>"
  jmail.appendHTML "" & Meddelande & "<br>"

  jmail.Send ("smtp.cliche.se")
End If

Du får nog komma med lite fel meddelande om du vill ha bättre hjälp med denna fråga..

Medlem sedan okt. 2004392 inlägg
#4

I din kod startar du ett nytt formulär utan att avsluta den förra:

<p><input name="strCAPTCHA" type="text" id="strCAPTCHA" class="formstyle" tabindex="4" size="15" /><label for="strCAPTCHA"><small>Skriv siffrorna i bilden ovan.</small></label>
[red]<form method="post" name="frm" />[/red]</p>

<p><input type="submit" class="send" onClick="postComment();" value="Skicka medelande" /></p>

Testa att ta bort det markerat i rött.

Jag vill inte låta elak, trots att jag oavsiktligt alltid gör, men läs Riktlinjer i ASP-forumet.

Medlem sedan sep. 2006119 inlägg
#5

Snakes skrev:

I din kod startar du ett nytt formulär utan att avsluta den förra:

<p><input name="strCAPTCHA" type="text" id="strCAPTCHA" class="formstyle" tabindex="4" size="15" /><label for="strCAPTCHA"><small>Skriv siffrorna i bilden ovan.</small></label>
[red]<form method="post" name="frm" />[/red]</p>

<p><input type="submit" class="send" onClick="postComment();" value="Skicka medelande" /></p>

Testa att ta bort det markerat i rött.

Jag vill inte låta elak, trots att jag oavsiktligt alltid gör, men läs Riktlinjer i ASP-forumet.

Tack det fungerar nu!

312 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
184 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)