Gå til innhold

[solved] Innsendingsskjema, med automatisk epostbekreftelse


Anbefalte innlegg

Er det mulig å få til et skjema, hvor en person kan fylle ut epost adressen sin, og noen andre felter, som blir sendt til meg på epost - og at han mottar en forhåndslaget epost på epostadressen han har oppgitt?

 

Litt enklere forklart:

 

1. besøkeren av websiden fyller ut noen felter og epostadresse

2. trykker på send

3. alt han fyllte ut, får jeg som epost

4. han mottar en epost forhåndslaget straks han har trykket på send.

 

Er dette mulig å få til, i så fall vet noen hvordan?

Lenke til kommentar
Videoannonse
Annonse

Det aller enkleste vil være å bruke PHP. f.x. kan du sjekke ut denne:http://www.cyber-god2k.com/scripts_phpformmail.php (har ikke brukt akkurat den selv, men den er ganske basic og skulle kunne funke.)

 

//ved å benytte deg av mail-kommd i php får du da sendt mail.

//i dette scriptet er det orginalt sånn:

mail( $to, $subject, $message );

//og rett under kan du legge til en sånn:

mail( $email, 'takk for at du tok deg tid', 'med vennlig hilsen sida mi' ); //for eksempel...

 

tar du en titt på www.hotscripts.com vil du kunne finne liknende eksempler i bøtter og spann, så da er det bare å prøve og feile litt, evt. lese en tutorial eller fem. :)

 

enjoy!

Lenke til kommentar
Kan jeg putte inn php-kode i en .html side?

Nei det kan du ikke. Du er må lagre som .php og ha:

<?php // start på php kode.

// dine php kommandoer.

?> // slutt på php kode.



Et lite eks:



<?php

phpinfo();

?>

Men husk på at serveren din må ha støtte for php. www.start.no kjører php så der skal det meste funke. Mer eller mindre du trenger enkelte moduler. Dem kjører ikke mysql, og hvis du skal ha det, må du nok kjøpe deg et webhotell.

Lenke til kommentar
Det aller enkleste vil være å bruke PHP. f.x. kan du sjekke ut denne:http://www.cyber-god2k.com/scripts_phpformmail.php !

 

Lastet ned den, men såvidt jeg skjønte, sendte den kun email til meg. Jeg vil at den som fyller ut, skal få en email når de har sendt det til meg (takk for at du fyllte ut, opplegg).

 

Prøvde den, men fikk masse error meldinger når jeg sendte inn skjemaet. men mailen kom frem allikevel.

 

@allyse

Det der ble litt for avansert... :(

 

Hvis jeg skjønner rett, så burde jeg lage en html side hvor jeg tegner skjemaene.

Som "Action" når send knappen trykkes på, må jeg velge en .php fil, som inneholder koden som gjør at mailen blir sendt.

 

Tar jeg feil, eller begynner jeg å skjønne ting?

 

Serveren har støtte for php og alt mulig rart... :)

Lenke til kommentar

Du er virkelig inne på noe der... Helt riktig! .php-siden du sender til tar imot all info fra form'en og gjør det du vil at den skal gjøre, f.eks. sende mail... Jeg har brukt et script fra www.space2u.com på mine sider, men jeg er redd det bare fungerer på serveren til space2u.com (hvis du ikke endrer litt på scriptet da).

Link til scriptet:

http://www.space2u.com/faq/files/mail_smtp.zip

og en liten forklaring:

http://www.space2u.com/faq/entries.php?cat=9#9.4

Lenke til kommentar

Her kommer et veldig enkelt eksempel:

kopier følgende til en html-fil (f.ex epost.html)

 

<html><title>PHP --> send epost-bekreftelseseksempel</title>"<body><center><br><br><br>





Fyll ut skjema :)



<!-- php-scriptet som skal sende mail       -->

<form name="form" method="post" action="sendt.php?">



<!-- Variabelen "$navn" får sin verdi her   -->

Ditt Navn: <input type="text" name="navn" size="25"><br>



<!-- Variabelen "$avsender får sin verdi her-->

Din E-mail: <input type="text" name="avsender" size="25"><br>



<!-- Variabelen "$beskjed legges til her    -->

Beskjed:<br><textarea name="beskjed" size="25" rows="6" wrap="soft"></textarea><br><br>



<!-- Variablene ovenfor sendes til sendt.php-->

<input type="submit" name="Submit">



<!-- Angreknapp :)---------------------------->

<input type="reset" name"Reset">

</form>



</center></font></body></html>

 

lag så en fil som heter sendt.php, kopier og lim inn følgende kode:

 

<?php





// Først sjekker vi at avsender har fylt ut navn.

if (!$navn) {

 echo '<html><title>Navn mangler!</title>

       <body><br><br><center>

       Du må skrive inn <b>navnet ditt</b> for å få sendt post.<br>

       vennligst gå <a href="Javascript:history.back()"><b>tilbake</b></a> og fyll ut navnet ditt.

       <br><br>

       På forhand takk.

       </center></body></html>

      '; }

 else {



// Så sjekker vi at det er fylt ut epost-adresse, og at den er gyldig.

// OBS denne måten å gjøre det på er ikke perfekt!

if ((!$avsender) || (!preg_match("/.+@.+..+/", $avsender))) {

 echo '<html><title>EPost-adresse mangler eller er ugyldig!</title>

       <body><br><br><center>

       Du må skrive inn en gyldig epost-adresse <b>E-mail</b> for å få sendt post.<br>

       vennligst gå <a href="Javascript:history.back()"><b>tilbake</b></a> og fyll ut epost-adressen din.

       <br><br>

       På forhand takk.

       </center></body></html>

      '; }

 else {



//Variabelen $mottager blir til den adressen som du skal få sendt eposten til.

$mottager ="[email protected]";   //<--  husk å endre!





//Variabelen $emne1 blir til emnet på den autogenererte beskjeden.

$emne1 = "PHP --> send epost-bekreftelseseksempel";





// Her blir Variabelen $autobeskjed til den beskjeden som avsenderen får,

// legg merke til at variablene $beskjed og $mottager er brukt mellom ""-ene,

// slik kan du legge til dynamisk innhold i en autogenerert mail.

$autobeskjed = "

               Du har sendt følgende beskjed med dette eksemplet:n

               {$beskjed}nn

               Til: {$mottager}nn

               MVH:n

               Epost-bekreftelseseksempelet. nn

              ";



// Variabelen $emne2 blir til emnet på eposten du får, dette kan selfølgelig også legges til i innsendings-skjemaet.

$emne2 = "Epost Fra {$navn}";





// Legg til litt "Fra" og "Svar-til"-informasjon til Epost-leseren

$extra1 = "From: Epost Bekreftelses eksempelrnReply-To: {$mottager}rn";



// Legg til litt "Fra" og "Svar-til"-informasjon til Epost-leseren

$extra2 = "From: {$navn}rnReply-To: {$mottager}rn";



// Variabelen $info blir til beskjeden du får fra avsenderen.

$info = "{$navn} : {$avsender} har sendt følgende beskjedt:n {$beskjed}";



// Her sender vi autobeskjeden til avsenderen.

mail ($avsender, $emne, $autobeskjed, $extra1);



// Her sender vi beskjeden til deg.

mail ($mottager, $emne2, $info, $extra2);





// Og til slutt en side som bekrefter at Eposten er sendt.

echo "<html><title>Takk, epost er sendt.</title>

     <body><br><br><center>

     Takk {$navn}.<br>Du har sendt en Epost til: <b>{$mottager}</b>.<br>

     En bekreftelse har blitt sendt til: <b>{$avsender}</b>.<br>

     Ha en fortsatt god dag :)<br><br>

     MVH<br>

     <b>Epost-eksempelet.</b><br><br>

     </center></body></html>

    ";

}

}

?>

 

rediger Variabelen "$mottager" i sendt.php, last opp til server og kjør på.

 

gidder du ikke kopiere og lime kan du laste det lille exempel ned fra http://home.no.net/~nextgen/files/mailformex.zip , zip-fil åfkårs.

 

det finnes jo seffers proffere måter å gjøre det på, men for en newbie skulle dette kunne være forståelig, og så skulle det forresten ha ligget under PHP og ikke webdesign :)

 

Have FUN! -- it`s an order! :woot:

 

*endring: hups en liten "typo" -- håper ingen så`n :o

Lenke til kommentar

:) Glimrende!! det funket jo som bare det!!

 

Tusen takk!

 

 

Jeg vil helst ikke mase mer nå, men jeg ønsker å legge til en liten tekst i slutten av bekreftelses eposten som blir sendt til den som bestiller.

 

Hvordan skal jeg fikse det?

 

Prøvde:

 

$info2 = "Dette er en setning n 

Så skulle dette komme på en ny linje nn 

Litt mellomrom, så kom dette nn

Hilsen GeeZuZzn

adresse n

adresse nn

Dette skulle være siste linjen";

 

Jeg endret også

mail ($info2, $avsender, $emne, $autobeskjed, $extra1);

 

Når jeg prøvde dette, fikk jeg feil i linje 63, som var "Så skulle dette komme på ny linje nn"

 

Er det litt vanskeligere enn jeg tror, eller er det bare en liten feil jeg har gjort? (kan ingenting om php - kun at n er ny linje - det fant jeg ut nettopp :) )

 

Et lite spørsmål til: Vil all informasjonen sendes, selv om jeg endrer og legget til felter til skjermaet i html filen? Eller må php filen oppdateres hvis jeg legger til et nytt felt i skjemaet?

Lenke til kommentar

8<---*snip*

Jeg vil helst ikke mase mer nå, ** no problems** :grumpy: men jeg ønsker å legge til en liten tekst i slutten av bekreftelses eposten som blir sendt til den som bestiller.

 

Hvordan skal jeg fikse det?

 

Prøvde:

 

$info2 = "Dette er en setning n 

Så skulle dette komme på en ny linje nn 

Litt mellomrom, så kom dette nn

Hilsen GeeZuZzn

adresse n

adresse nn

Dette skulle være siste linjen";

 

Jeg endret også

mail ($info2, $avsender, $emne, $autobeskjed, $extra1);

 

Når jeg prøvde dette, fikk jeg feil i linje 63, som var "Så skulle dette komme på ny linje nn"

 

*snap*--->8

 

selve "mail-prosedyra" må du ikke forandre da den er oppbygd på følgende måte: (lurt å huske på!)

mail ($avsender, $emne, $autobeskjed, $extra1);

mail ( ***1, ***2,***3,***4);

***1: Denne delen er forbeholdt mottakeradresse. Variabelen $avsender er jo litt villedende, men jeg brukte den siden beskjeden var autogenerert og skulle sendes til avsenderen.

***2: Denne delen er forbeholdt emne (subject).

***3: Denne delen er forbeholdt selve beskjeden.

***4: Denne delen er forbeholdt info til mail-leseren (ex. outlook) om avsender og returaddresse.

 

Skal du legge til ytterlige linjer i autobeskjeden , ja da legger du dem bare rett og slett til i variabelen $autobeskjed. :)

 

Se nøye på hvordan det hele virker, følg hver del av beskjeden(e), helt fra html-sida og til hver enkelt variabel er sendt, lek med dem, bytt ut ord, ha det moro, og så skal du se at det funker bra til slutt. :)

 

En annen ting, dersom du plundrer med kode (html eller php, kansje javascript) i notisblokk (notepad) - slutt med det umiddelbart, last ned noe med syntaksfremheving, så blir det MYE enklere å se sammenhengen i det du holder på med - har du prøvd, eller prøver, så vil du sikkert oppdage hva jeg mener. :D

 

Selv bruker jeg JediEdit , Den finner du her: http://prdownloads.sourceforge.net/jediedi...18.zip?download

 

Den har fulgt meg i tykt og tynt i et par år nå, og jeg tror ikke jeg kan klare meg uten.. JediEdit har syntaksfremheving for en masse programmeringsspråk, og skulle du finne på å prøve utforske andre ting er den fin til å browse kode med, og skrive kode også seffers 8)

 

Ha en morsom Natt. :shrug:

Lenke til kommentar

Ahh... Knallbra.

 

PHP var jo rett og slett artig...

 

Har fått til å legge til flere felter i skjemaet, og fikset opp i mailene som sendes nå. :D

 

Det eneste jeg lurer på nå, er noe så banalt som:

 

Hvordan får jeg til en slik link som dette ? eller generelt at URL og epost adresser i epostene som blir sendt, er klikkbare?

 

Prøvde å putte inn html koden i steden, men da fikk jeg parse error. :(

 

Eksempel:

$autobeskjed = " 

                Jeg vil få følgende linkt til å bli "klikkbar" www.www.www men det fikk jeg ikke til å funke....:n ........";

Lenke til kommentar
Ahh... Knallbra.

Eksempel:

$autobeskjed = " 

                Jeg vil få følgende linkt til å bli "klikkbar" www.www.www  men det fikk jeg ikke til å funke....:n ........";

 

Du får parse error på <a href="http://addresse.no"> fordi du har doble hermeteikn i den. Om du vil gjere det, sjå no;

 


$autobeskjed = "Dette er ein <a href="http://www.hardware.no">link</a>";

 

Om du sett ein motsett skråstrek foran eit dobbelt hermeteikn, så vil det ikkje telja som avslutning av strengen.

Lenke til kommentar

Kan nok stemme det med dine antagelser om html-mail.

 

Jeg skal ikke si noe bombesikkert.. men tror at det hele kommer an på hvilken epostleser du bruker, samt innstillinger i denne, hvis du sender f.ex:

 

$autobeskjed="www.hardware.no";

 

Til outlook express så skal du da få en klikkbar link i eposten du mottar, hvertfall dersom du bruker standardinstillinger....

 

Hvis du ikke får det, ja da er vel html-mail løsningen som gjelder, det kan bli en smertefull erfaring når du skal legge det til i php-scriptet ditt.. tror jeg...

 

Og dessuten er det ikke sikkert at alle som mottar den mailen kan lese html-mail, så derfor bør du absolutt unngå det.

Lenke til kommentar

Ja ok.

 

Litt merkelig opplegg egentlig. Den ene webadressen ble til en link, selv om jeg ikke skrev noenting spesielt foran den.

Alle andre var bare rent tekst.

 

Brukte forøvrig Outlook.

 

Men uansett, det er jo bare en liten detalj som egentlig ikke gjør noe.

 

Tusen takk igjen, jeg setter status på denne tråden som solved :woot:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...