Kom ihåg mig?
Home Menu

Menu


Problem med formulär

 
Ämnesverktyg Visningsalternativ
Oläst 2009-01-17, 12:57 #1
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
Håller på med en föreningssida där jag bl.a. skall kunna göra medlemsansökan via ett formulär.

Har skapat ett formulär som börjar så här:
<form method=post action="mailto:[email protected]?subject=Medlem sansökan till föreningen" enctype="text/plain" name="emailform" onSubmit="return checkFields()">

efter alla formulärfält kommer

<pre><input type=submit value="Skicka ansökan!"></pre>

När jag provar i IE7 så skickas mitt formulär efter att jag kvitterat i två rutor.
När jag provar i FF3 så öppnas ett e-postfönster, alla info finns där och jag får trycka på skicka.
När jag provar i Opera 9 så öppnas ett e-postfönster med adress och ämnesrad ifyllt, i övrigt tomt.
Detta sista händer även med IE (troligen6) har jag fått veta.
Har inte kunat kolla med fler webläsare

Vad är fel?

Finns det någon bättre lösning för att skapa ett formulär för, som i det här fallet, göra en medlemsansökan på hemsidan?
VideoBengt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 15:47 #2
gsocs avatar
gsoc gsoc är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2007
Inlägg: 568
gsoc gsoc är inte uppkopplad
Mycket flitig postare
gsocs avatar
 
Reg.datum: Jun 2007
Inlägg: 568
Använd php och mail() ?

Bara bökigt med sidor som använder mailto:
gsoc är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 16:59 #3
kw_wasabis avatar
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2008
Inlägg: 2 134
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
kw_wasabis avatar
 
Reg.datum: Feb 2008
Inlägg: 2 134
Det är bäst att undvika mailto: som gsoc skriver. Genom att använda ett PHP- eller ASP mailscript så kan du låta besökarna skicka mail via din server för utgående e-post (SMTP-server).

Använder du mailto: så krävs det att besökarna har angett ett mailprogram (t.ex Outlook) som standard i sin webbläsare. Samt har ett e-postkonto och serverinställningar registrerade i programmet. De besökare som använder Hotmail och Gmail etc har sällan konfiguerat sin Outlook.

Anledningen till att det funkar för dig i IE7 är kanske att du just har angett ett standardmailprogram i den webbläsaren.
kw_wasabi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 20:12 #4
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
Skall snarast skrota mailto-varianten!

Tips på lämpligt script mottages tacksamt.
Det finns ju "hur mycket som helst" när man söker på Google.

Hemsidan bor på one.com så jag kan använda ASP - PHP5 - MySQL för detta.
VideoBengt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 20:37 #5
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
kolla hos one.com om de har exempelfunktionalitet
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 20:49 #6
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
Där finns ngt som heter: "FormMail.pl"

Förmodar att det använder det webhotellets SMTP-server, hittar inget mailto i scriptet?

I så fall testar jag att bygga vidare på det.
VideoBengt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 21:02 #7
kw_wasabis avatar
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2008
Inlägg: 2 134
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
kw_wasabis avatar
 
Reg.datum: Feb 2008
Inlägg: 2 134
Här är ett ASP-script jag tycker funkar bra. Det kräver inte speciellt mycket ASP-kunskaper, det är mest bara att fylla i rätt uppgifter för mailserver etc. Själva formuläret kan behöva snyggas till lite.


formular.asp
Kod:
<form method="post" action="skicka.asp">   
<table border="0" align="center" id="text">
<tr> 
 <td colspan="2"><font size="2" face="Verdana"><b><font size="1"></font></b></font></td>
</tr>
<%
IF Len(Session("kontakta_mig")) <> 0 then
If Len(Session("falt")) <> 0 then
	uppg = Split(Session("falt"),"$|$")
	mess = uppg(0)
	namn = uppg(2)
	epost = uppg(1)
	hemsida = uppg(3)
	Session("falt") = ""
End If
felet = Session("kontakta_mig")
Session("kontakta_mig") = ""
End If
IF len(felet) <> 0 then
%>
<tr> 
 <td colspan="2">
	<%
Response.Write "<i><font face='verdana' size='1'>" & felet & "</font></i>"
%>
 </td>
</tr>
<%
END IF%>
<tr> 
 <td colspan="2">Meddelande:<font color="#FF0000">*</font></td>
</tr>
<tr> 
 <td colspan="2"><textarea name="meddelande" rows="8" cols="58" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"><%=mess%></textarea></td>
</tr>
<tr> 
 <td>Ditt namn: <font color="#FF0000">*</font></td>
 <td><input type="text" size="35" name="namn" value="<%=namn%>" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"></td>
</tr>
<tr> 
 <td>E-Mail: <font color="#FF0000">*</font></td>
 <td><input type="text" size="35" name="epost" value="<%=epost%>" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"></td>
</tr>
<tr> 
 <td>Hemsida: </td>
 <td><input type="text" size="35" name="hemsida" value="<%=hemsida%>" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"></td>
</tr>
<tr> 
 <td>Spamskydd: <font color="#FF0000">*</font></td>
 <td><input type="checkbox" value="haha" name="skydd" style="height: 10px; width: 10px;"> <font size="1" face="Verdana">(kryssa i rutan)</font></td>
</tr>
<tr> 
 <td></td>
 <td> <input type="submit" name="submit" value="Skicka" style="font-family: verdana; font-size: 10px; border: #000000 1px solid"> 
 </td>
</tr>
</table>
</form>
skicka.asp
Kod:
<%
' På denna sida finns koden som gör att dina besökares meddelanden skickas till din e-post adress.
' Det är därför viktigt att du anger korrekta uppgifter nedan.

Dim formularsida, mottagare_namn, mottagare_epost, rubrik, mailserver
formularsida = "formular.asp" ' Ändra här om du bytt namn på sidan med formuläret
mottagare_namn = "Webmaster" ' Här anger du namnet på den mailen skall skickas till
mottagare_epost = "[email protected]" ' Här anger du till vilken mailadress allt skall skickas
rubrik = "Mail från hemsidan" ' Ändra här om du vill ha annan rubrik på alla mail som skickas
mailserver = "smtp.xxxxxxxxx.xxxxx ' VIKTIGT! Ändra denna till din e-post adress SMTP server!
'(SMTP-server = Server för utgående mail)

'=================================================================================================
'OBSERVERA!
'Här nedan finns kod som gör att meddelandet skickas och skall fungera helt felfritt, det brukar
'vara fel på mailservern, eller e-post adressen som orsakar fel. Så PILLA INTE i nedanstående kod
'om du inte har goda kunskaper om ASP och vet vad du gör!
'=================================================================================================


'Här hämtas informationen och läggs i variabler. 
Dim Meddelande, epost, namn, hemsida, innehall, sida
Meddelande = Request.Form("meddelande")
epost = Request.Form("epost")
namn = Request.Form("namn")
hemsida = Request.Form("hemsida")
skydd = Request.Form("skydd")
innehall = meddelande & "$|$" & epost & "$|$" & namn & "$|$" & hemsida
sida = formularsida


'Här kontrolleras fälten så att alla obligatoriska fält är ifyllda
IF Not Len(Meddelande) <> 0 then
	session("falt") = innehall
	Session("kontakta_mig") = "Du glömde att skriva in ett meddelande"
	Response.Redirect sida
ELSEIF Not Len(namn) <> 0 then
	session("falt") = innehall
	Session("kontakta_mig") = "Du glömde att fylla i ditt namn"
	Response.Redirect sida
ELSEIF Not Len(epost) <> 0 then
	session("falt") = innehall
	Session("kontakta_mig") = "Du glömde att fylla i din e-post adress"
	Response.Redirect sida
ELSEIF Not Len(skydd) <> 0 then
	session("falt") = innehall
	Session("kontakta_mig") = "Du glömde att fylla i spamskyddet"
	Response.Redirect sida
END IF


'Här kontrolleras spamskyddet
IF Instr(skydd,"haha") Then
	' inget
ELSE
	session("falt") = innehall
	Session("kontakta_mig") = "Du har inte skrivit rätt i spamskyddsfältet"
	Response.Redirect sida
END IF


'Här kontrolleras e-post adressen
IF Instr(epost,"@") Then
	' inget
ELSE
	session("falt") = innehall
	Session("kontakta_mig") = "Du har angett en felaktig e-post adress"
	Response.Redirect sida
END IF
IF Instr(epost,".") Then
	' inget
ELSE
	session("falt") = innehall
	Session("kontakta_mig") = "Du har angett en felaktig e-post adress"
	Response.Redirect sida
END IF

' Här ändras hemsideadressen så att den alltid inleds med http://
IF Len(hemsida) <> 0 Then
	IF Left(hemsida,7) = "http://" Then
 webb = Lcase(hemsida)
	ELSE
 webb = "http://" & Lcase(hemsida)
	END IF
END IF

'=================================================================================================
' Här börjar själva jmailandet. Ändra inte nedanstående kod, om du inte har goda kunskaper om ASP
' JMAIL-komponentens funktioner. Det är väldigt ovanligt att fel uppstår i nedanstående kod. Om
' Fel uppstår på raden precis nedanför denna kommentar så brukar det bero på att servern INTE HAR
' STÖD FÖR JMAIL.
'=================================================================================================

Set mailare = Server.CreateObject("JMail.Message")
	mailare.AddRecipient ""&mottagare_epost&"", ""&mottagare_namn&"" 
	mailare.From = ""&epost&""
	mailare.FromName = ""&namn&""
	mailare.Subject = ""&rubrik&"" 
	mailare.AppendHTML "<font face='verdana' size='1'>" & Replace(Server.HTMLEncode(Meddelande),vbCrlf,"<br>") &_
	"<br><br><br>------------------------------------------<br><b>Skickades:</b> " & Now & "<br><b>Namn: </b> "&_
	namn & "<br><b>E-mail: </b> " & epost & "<br>"
	If Len(hemsida) <> 0 then
 mailare.AppendHTML "<b>Hemsida: </b><a href=" & webb & ">" & webb & "</a><br>" 
	End If
	mailare.AppendHTML "------------------------------------------<br></font>"
	mailare.Send(""&mailserver&"") 
	mailare.Close
Set mailare = nothing

Session("kontakta_mig") = "Meddelandet är nu skickat!"
Response.Redirect sida
%>
kw_wasabi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 21:19 #8
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
Tack så mycket!

Skall testa detta.
VideoBengt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 22:19 #9
kw_wasabis avatar
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2008
Inlägg: 2 134
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
kw_wasabis avatar
 
Reg.datum: Feb 2008
Inlägg: 2 134
Gör det! Om du stöter på problem så är det bara att fråga här i tråden.
kw_wasabi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-17, 23:36 #10
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
VideoBengt VideoBengt är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 46
Jag får det inte att fungera. Svaret är enkelt: One.com har inte stöd för JMAIL.
Fick förslaget att använda CDONTS.

Ingen aning vad det är men det får kollas imorgon.
VideoBengt är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 20:05.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017