Gå til innhold

Tips en venn


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet-rXRozPkg


<?php

function sendmail($tilemail, $fraemail, $venn, $beskjed) {

mail($tilemail, "Tips fra $venn", $beskjed, "From: $fraemailrn"."Reply-To: $fraemailrn");

}



if (isset($sendmailform)) {

htmlspecialchars($beskjed);

htmlspecialchars($tilemail);

htmlspecialchars($fraemail);

htmlspecialchars($venn);

sendmail($tilemail, $fraemail, $venn, $beskjed);

echo "Mail sendt til ".$tilemail;

} else {

?>

<html>

<form name="tips" method="post" action<form name="tips" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

Til: <input type="text" maxlength="30" size="15" name="tilemail"><br>

Fra: <input type="text" maxlength="30" size="15" name="fraemail"><br>

Ditt navn: <input type="text" maxlength="30" size="15" name="venn"><br>

Din beskjed:<br>

<textarea rows="10" cols="60" name="beskjed">Har du sjekket ut denne siden? http://www.dinadresse.no</textarea><br>

<input type="submit" value="Send" name="sendmailform">&

<input type="reset" value="Nullstill" name="nullstill">

</form>

</html>

<?

}

?>

 

Hvis fila skal hete noe annet enn mail.php, så må du bytte ut det som står i action=... Håper dette var enkelt nok :smile:

 

Bare å spørre hvis det var noe du ikke forstod

 

Edit: Redigerte koden med tanke på posten under...

Edit2: Redigerte koden med igjen med tanke på enda et innspill :D Håper det ikke trengs en edit3

Lenke til kommentar

P.S: Skriptet over forutsetter at register_globals står på.

For å gjøre det slik at scriptet funker uansett navn på fila kan du bytte ut denne linja:

 

<form name="tips" method="post" action="mail.php">

 

til

 

<form name="tips" method="post" action="<?= $_SERVER['PHP_SELF']?>">

Lenke til kommentar
<form name="tips" method="post" action="<?= $_SERVER['PHP_SELF']?>">

 

Dette forutsetter da at short_open_tag = On

 

 


<form name="tips" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

 

Fungerer dersom den er Off

Lenke til kommentar

Hvordan lager man mer enn et mellomrom? Fikk ikke skjemaene helt på linje... Hvis du gidder så hadde det vært greit med et skjema der den personen som sender dette tipset til en venn kan skrive inn sitt navn også.

mail.jpg

Lenke til kommentar
Gjest Slettet-rXRozPkg
Hvis du gidder så hadde det vært greit med et skjema der den personen som sender dette tipset til en venn kan skrive inn sitt navn også.

Det gjør man jo allerede. Man skriver hvilken email det skal være til, og så sin egen i mail i fra feltet, så skriver man navnet sitt i det neste feltet...

 


<html>

<form name="tips" method="post" action<form name="tips" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

<table>

<tr>

<td>To:</td>

<td><input type="text" maxlength="35" size="25" name="tilemail"></td>

</tr>

<tr>

<td>From:</td>

<td><input type="text" maxlength="35" size="25" name="fraemail"></td>

</tr>

<tr>

<td>Name:</td>

<td><input type="text" maxlength="35" size="25" name="venn"></td> 

</tr>

<tr>

<td>Message:</td>



</tr>	



</table>



<textarea rows="10" cols="60" name="beskjed">Do you like this page? http://home.no.net/setoff</textarea><br>

<input type="submit" value="Send" name="sendmailform">

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

</form> 

</html>

 

Gir dette resultatet:

form.gif

Lenke til kommentar
Gjest Slettet-rXRozPkg
Anbefaler deg å legge skjemaet inn i en <table>, men dersom du bare vil bruke flere mellomrom, er koden
"&"

 

Forummet liker ikke &NonBreakSPacing; :shrug:

Lenke til kommentar
Det gjør man jo allerede. Man skriver hvilken email det skal være til, og så sin egen i mail i fra feltet, så skriver man navnet sitt i det neste feltet...

Jeg mente et felt der senderen kan skrive inn sitt eget navn, slik at mottakeren får vite hvem det er som har sendt tipset uten å måtte kunne mailen hans. Når jeg prøvde skjemaet kom det opp at siden ikke finnes. Hvorfor?

Lenke til kommentar
Gjest Slettet-rXRozPkg

Altså, se litt etter, så ser du at det man skriver inn i name feltet kommer i tema/subject feltet i emailen som blir sendt.

 

"Tips fra $venn" = "Tips fra hvanåennduskreivinninamefeltet"

 

Når jeg prøvde skjemaet kom det opp at siden ikke finnes. Hvorfor?

 

Bruk den nyeste utgaven, der det står:

<form name="tips" method="post" action<form name="tips" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

 

Er det fortsatt uklart, så post videre... :)

 

Edit:

Bytt ut:

mail($tilemail, "Tips fra $venn", $beskjed, "From: $fraemailrn"."Reply-To: $fraemailrn"); 

Med dette:

mail($tilemail, $subject, $beskjed, "From: "$venn" <$fraemail>n"."Reply-To: "$venn" <$fraemail>n");

Det er viktig at dette blir stående på EN linje i php fila...

 

Det vil da stå navnet til personen først, så emailadressen, slik som det blir gjort i de fleste mailklienter.

Lenke til kommentar

Bare et lite tips om 'tips en venn'-funksjoner:

 

Det er veldig lurt å sette tipserens e-post som avsender (eller reply-to om du vil)-adresse.

 

Har selv laget flere 'tips en venn'-opplegg på nettsider og særlig hvis det er et kommentarfelt angående den aktuelle siden/saken hvor senderen skriver noen kommentarer har folk en lei tendens til å svare på mailen uten å sjekke hvor mailen går.

 

Resultatet var at siten som opprinnelig sendte tipset fikk en håndfull 'reply's' hver eneste dag som egentlig var ment for noen andre.

 

PS: Lagde mine i ASP og satte for moro skyld opp en BCC (blindkopi) til meg selv for å se hva folk tipset om :D Interessant i begynnelsen men ble litt for mye søppel etterhvert.

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...