WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Formulär med okänd e-postavsändare (https://www.wn.se/forum/showthread.php?t=27480)

lisa 2008-02-26 13:56

Hej!

Jag har försökt göra ett formulär där besökare ska kunna tipsa kompisar om mitt nyhetsbrev men jag lyckas inte. Problemet för mig är att mailto: ska vara den adress besökaren skriver in i formuläret och som jag alltså inte känner till. Hur löser jag det?

Netikett 2008-02-26 14:25

Det kan vara bra om du skriver vilket språk du programmerar i. Som asp eller php etc.

allstars 2008-02-26 17:45

tipsa en vän:

ditt namn _____________
din epostadress ____________

din väns namn ___________
din väns epostadress ___________

Validera serverside om adresserna verkar riktiga och skicka därefter.

Dennis Holm 2008-02-26 18:38

gör ett formulär som allstar säger. sedan gör ett asp eller php script som tar emot det.

Enkel variant är.
tips_formulär.html

<form method="post" action="skicka_tips.php">
Kompis Email: <input name="email" type="text">

<input type="submit">
</form>

Sedan en skicka_tips.php
<?php
$subject = "Ett tips ifrån en vän";
$email = $_REQUEST['email'] ;
$message = "Ditt meddelande med lite info och blablabla" ;
$headers = "From: [email protected]";
$sent = mail($email, $subject, $message, $headers) ;
if($sent)
{print "Tack, din vän har fått tipset"; }
else
{print "Det blev något fel där. ERROR ERROR!"; }
?>

Hoppas det hjälpte.
koden jag angav för tips_formulär.html kan du helt enkelt lägga in där du vill ha din lilla tipsruta.
Detta kräver dock att din webhost tillåter mail() och har PHP.
Skicka ett PM om det inte funkar som du vill :).

KarlRoos 2008-02-26 20:25

Hört talats om Google? ;)

turboraketti 2008-02-27 09:21

Är det möjligen så att du har ett formulär av den här typen?
Kod:

<form action="mailto:[email protected]?subject=Kolla%20vallingtrasket.se">
Din väns epostadress: <input type=text id=epost name=epost /><br />
<input type=submit id=submit value="Tipsa!" />
</form>

Och att problemet är att få den inmatade epostadressen till action-attributet på form-elementet? Har inte testat (kan finnas säkerhetsspärrar kan gott tänkas) men kanske kan man göra det med javascript:
Kod:

var subm = document.getElementById('submit');
if( subm.attachEvent ) subm.attachEvent( 'onclick', setFormAction ); // The Microsoft way
else subm.addEventListener( 'click', setFormAction, false ); // The W3C way
function setFormAction() {
 var form = document.forms[0]; //if it's the first form in the document
 var epost = document.getElementById( 'epost' );
 form.action = 'mailto:'+epost.value+'?Kolla%20vallingtrasket.se';
}

Är du med på hur jag menar?

@KarlRoos
Du riskerar att uppfattas som tyken... Kan du inte istället skriva något i stil med "Om du googlar på 'tipsa en vän html' hittar du t ex http://www.stadtaus.com/sv/php_scripts/tell_a_friend_script/"? Snabbt gjort, låter trevligare och fyller samma syfte. IMHO...

Redigering: @KarlRoos: Och när jag klickade på din länk inser jag att det var ju så du hade gjort... Ursäkta mitt pekfinger... :)

lisa 2008-03-26 11:27

Tack för era svar! Jag missade att bevaka tråden så det tog mig lite tid innan jag hittade svaren. Nu har jag i det närmaste löst problemet. TACK!

Dennis Holm 2008-03-26 13:12

ett problem som jag aldrig stött på för jag aldrig haft behovet faktist..
när jag fyller innehållet i emailet så vill jag ha in html osv.
vad behöver jag lägga till då?
någon header eller?
för att endast lägga in detta funkar inte för mig.
Citat:

<?php
$subject = "ämne o annan stuff." ;
$email = "[email protected]" ;
$message = ' <html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
</head>
<body>
en länk just de länken!
</body>
</html> ' ;
$headers = "From: från@domänetsomrockar.com" ;
$sent = mail($email, $subject, $message, $headers) ;
if($sent)
{print "mail skickat."; }
else
{print "Det blev något fel där. ERROR ERROR!"; }
?>


lisa 2008-03-26 13:36

Kan man dessutom i formuläret (tips_formular.html) ha en rad för den egna e-postadressen och att denna adress syns som avsändare?

Dennis Holm 2008-03-26 13:59

i det formuläret jag just skrev så är detta din avsändare ifall de ska svara på emailet.
Citat:

$headers = "From: från@domänetsomrockar.com" ;
om du istället gör så det ser ut såhär
Citat:

$headers = "From: . $_POST['avsandare'] . " ;

så får du ha en ruta som kallas "avsandare".

jag tror det var rätt syntax


Alla tider är GMT +2. Klockan är nu 07:18.

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