/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
e-mail med PHP
Fra : Søren


Dato : 21-05-02 14:36

Jeg har læst artiklen på www.webcafe.dk om at benytte PHP til at sende mail
med, hvor jeg gerne vil oprette en form i html til brug for afsendelsen af
mail. Jeg har prøvet at stille nedenstående op, hvor der skal indtastes
navn, egen e-mail adresse og besked og så klikkes på en submit knap så
mailen sendes til min mail adresse. Når mailen er sendt får man en
bekræftelse og kan gå tilbage til siden (email.php) hvor mailen bliver sendt
fra. Men webcafe fortæller ikke så meget om hvordan php udformes så det
funker med den form, man har lavet i html, hvor der indtastes fra. Jeg kan
ikke rigtig få nedenstående til at spille og håber, at det er nogle fra NG,
som kan fortælle mig hvordan jeg kan få det til at køre:

<form>

<p>Indtast dit navn: </p><input type="text"
name="navn" size="30"><br>
<p>Indtast din egen e-mail adresse: </p><input type="text" name="email"
size="30"><br>
<p>Indtast meddelse: </p><input type="text"
name="besked" size="250"><br>
<input type="submit" name="submitknap" value="send e-mail">
<input type="reset" name="resetknap" value="slet">

</form>

<?php

mail("sorenh@gmx.net", "navn:", $navn,
"\nafsender:", $email,
"\nBesked:", $besked);

echo "Mail er sendt til sorenh@gmx.net";
echo "<p>Tilbage til <a href=\"email.php\">siden</a>";

?>

På forhånd tak !

Søren



 
 
Johan Holst Nielsen (21-05-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 21-05-02 16:02

> Jeg kan
> ikke rigtig få nedenstående til at spille og håber, at det er nogle fra NG,
> som kan fortælle mig hvordan jeg kan få det til at køre:
>

jeg vil prøve at hjælpe :)


>
> <form>
>
> <p>Indtast dit navn: </p><input type="text"
> name="navn" size="30"><br>
> <p>Indtast din egen e-mail adresse: </p><input type="text" name="email"
> size="30"><br>
> <p>Indtast meddelse: </p><input type="text"
> name="besked" size="250"><br>
> <input type="submit" name="submitknap" value="send e-mail">
> <input type="reset" name="resetknap" value="slet">
>
> </form>
>
> <?php
>
> mail("sorenh@gmx.net", "navn:", $navn,
> "\nafsender:", $email,
> "\nBesked:", $besked);
>
> echo "Mail er sendt til sorenh@gmx.net";
> echo "<p>Tilbage til <a href=\"email.php\">siden</a>";
>
> ?>

Prøv at lave denne om til
<?php
mail("sorenh@gmx.net", "Mail fra min hjemmeside", "Navn: ".$navn."\nAfsender:
".$email."Besked: ".$besked, "FROM: ".$email);
echo "Mail er sendt til sorenh@gmx.net";
echo "<p>Tilbage til <a href=\"email.php\">siden</a></p>";
?>

Håber det hjalp dig lidt...

Mail() specifikationen er
mail([TIL EMAIL], [SUBJECT], [INDHOLD], [HEADERS]);

Jeg har sat FROM : email@email.dk ind til sidste, for at du kan trykke reply og
den rigtige e-mail adresse fremkommer... ellers ville du blot få
administrator@dinserver eller ligende!

mvh
Johan Holst Nielsen


Johan Holst Nielsen (21-05-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 21-05-02 16:02

> Jeg kan
> ikke rigtig få nedenstående til at spille og håber, at det er nogle fra NG,
> som kan fortælle mig hvordan jeg kan få det til at køre:

jeg vil prøve at hjælpe :)


>
> <form>
>
> <p>Indtast dit navn: </p><input type="text"
> name="navn" size="30"><br>
> <p>Indtast din egen e-mail adresse: </p><input type="text" name="email"
> size="30"><br>
> <p>Indtast meddelse: </p><input type="text"
> name="besked" size="250"><br>
> <input type="submit" name="submitknap" value="send e-mail">
> <input type="reset" name="resetknap" value="slet">
>
> </form>
>
> <?php
>
> mail("sorenh@gmx.net", "navn:", $navn,
> "\nafsender:", $email,
> "\nBesked:", $besked);
>
> echo "Mail er sendt til sorenh@gmx.net";
> echo "<p>Tilbage til <a href=\"email.php\">siden</a>";
>
> ?>

Prøv at lave denne om til
<?php
mail("sorenh@gmx.net", "Mail fra min hjemmeside", "Navn: ".$navn."\nAfsender:
".$email."Besked: ".$besked, "FROM: ".$email);
echo "Mail er sendt til sorenh@gmx.net";
echo "<p>Tilbage til <a href=\"email.php\">siden</a></p>";
?>

Håber det hjalp dig lidt...

Mail() specifikationen er
mail([TIL EMAIL], [SUBJECT], [INDHOLD], [HEADERS]);

Jeg har sat FROM : email@email.dk ind til sidste, for at du kan trykke reply og
den rigtige e-mail adresse fremkommer... ellers ville du blot få
administrator@dinserver eller ligende!

mvh
Johan Holst Nielsen


Per Thomsen (21-05-2002)
Kommentar
Fra : Per Thomsen


Dato : 21-05-02 16:36


"Søren" <sorenh@gmx.net> wrote in message
news:V2sG8.12789$4f4.615205@news000.worldonline.dk...
> Jeg har læst artiklen på www.webcafe.dk om at benytte PHP til at sende
mail
> med, hvor jeg gerne vil oprette en form i html til brug for afsendelsen af
> mail. Jeg har prøvet at stille nedenstående op, hvor der skal indtastes
> navn, egen e-mail adresse og besked og så klikkes på en submit knap så
> mailen sendes til min mail adresse. Når mailen er sendt får man en
> bekræftelse og kan gå tilbage til siden (email.php) hvor mailen bliver
sendt
> fra. Men webcafe fortæller ikke så meget om hvordan php udformes så det
> funker med den form, man har lavet i html, hvor der indtastes fra. Jeg kan
> ikke rigtig få nedenstående til at spille og håber, at det er nogle fra
NG,
> som kan fortælle mig hvordan jeg kan få det til at køre:
>
> <form>

Du mangler nogle attributter på dit form-tag.
<form action="email.php" method="post">

>
> <p>Indtast dit navn: </p><input type="text"
> name="navn" size="30"><br>
> <p>Indtast din egen e-mail adresse: </p><input type="text" name="email"
> size="30"><br>
> <p>Indtast meddelse: </p><input type="text"
> name="besked" size="250"><br>
> <input type="submit" name="submitknap" value="send e-mail">
> <input type="reset" name="resetknap" value="slet">
>
> </form>
>
> <?php


Nu kender jeg ikke lige den omtalte artikel, men det ser ud som om at den er
fra før PHP4.2,
hvis du kører en nyere version af PHP skal du huske at variablene fra formen
skal hentes
fra $_POST array'et:

$navn = $_POST['navn'];
$email = $_POST['email'];
$besked = $_POST['besked']

Hvis altså du sætte method="post" på form'en. Det vil jeg anbefale at gøre
for så kan du evt.
starte dit script med sådan en lille fætter her:
<?php
if( strcasecmp($_SERVER['REQUEST_METHOD'],"post")==0 ) {
// Send mailen her
// og udskriv bekræftelsen bagefter.
} else {
?>
// Formularen her
<?php
}
?>
Du har måske også lyst til at validere de forskellige variable inden du
sender en mail, lige nu kan man
f.eks. sende en mail uden at udfylde nogle af felterne.

Det er måske ikke så fedt at hard-kode navnet på filen i filen, det giver jo
lidt ekstra-arbejde, hvis du pludselig
får lyst til at kalde den noget andet - derfor bruger mangle tricket med at
sætte action på formularen således:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Den samme måde kan du så bruge i dit link tilbage til formularen:
echo '<p>Tilbage til <a href="'.$_SERVER['PHP_SELF'].'">siden<a>';

<http://www.php.net/manual/fi/language.variables.predefined.php#language.var
iables.superglobals>

>
> mail("sorenh@gmx.net", "navn:", $navn,
> "\nafsender:", $email,
> "\nBesked:", $besked);

Prøv at kigge lidt nærmere på mail()-funktionen:
<http://www.php.net/manual/en/function.mail.php>

De du ønsker her er vist lidt mere alá:
mail( sorenh@gmx.net, 'Navn: '.$navn, $besked, 'From: '.$email );

[snip]

Så fik du lidt at lege med - håber du kan få det til at virke :)
ellers må du jo spørge igen.

MVH Per Thomsen,
http://www.pert.dk/



Lars Dahl (21-05-2002)
Kommentar
Fra : Lars Dahl


Dato : 21-05-02 16:55

Den skal splittes op i to sider..
en side med formen på, og en side som sender selv mailen...
desuden skal der ændres lidt i formen...


----------------------------------email.php---------------------------------
-

<form method=post action="send.php">
Emne:<br> <input type=text name=emne><br>
Din Mailadresse: <br><input type=text name=afsender><br>
Din Meddelelse:<br><textarea name=besked cols=40 rows=10></textarea><br>
<input type=submit value="Send">&nbsp;<input type=reset value="Fuck Det!">
</form>

----------------------------------send.php----------------------------------

<?
$besked = str_replace('\$','&#36;',$besked);
$besked = str_replace('\"','&quot;',$besked);
$besked = str_replace('\\\\','\\',$besked);
$besked = str_replace("\'","'",$besked);
$besked = str_replace('<','&lt;',$besked);
$besked = str_replace('<','&gt;',$besked);

mail("sorenh@gmx.net","$emne","$besked","From: $afsender");
?>
Mail er sendt til sorenh@gmx.net <br>
Tilbage til <a href="email.php">siden</a>

----------------------------------------------------------------------------
-


.... Der er også rette lidt i koden, men så undgår du også trælse PHPfejl...

Håber du kan bruge det.. ellers spørg igen...

-Lars Dahl


"Søren" <sorenh@gmx.net> skrev i en meddelelse
news:V2sG8.12789$4f4.615205@news000.worldonline.dk...
> Jeg har læst artiklen på www.webcafe.dk om at benytte PHP til at sende
mail
> med, hvor jeg gerne vil oprette en form i html til brug for afsendelsen af
> mail. Jeg har prøvet at stille nedenstående op, hvor der skal indtastes
> navn, egen e-mail adresse og besked og så klikkes på en submit knap så
> mailen sendes til min mail adresse. Når mailen er sendt får man en
> bekræftelse og kan gå tilbage til siden (email.php) hvor mailen bliver
sendt
> fra. Men webcafe fortæller ikke så meget om hvordan php udformes så det
> funker med den form, man har lavet i html, hvor der indtastes fra. Jeg kan
> ikke rigtig få nedenstående til at spille og håber, at det er nogle fra
NG,
> som kan fortælle mig hvordan jeg kan få det til at køre:
>
> <form>
>
> <p>Indtast dit navn: </p><input type="text"
> name="navn" size="30"><br>
> <p>Indtast din egen e-mail adresse: </p><input type="text" name="email"
> size="30"><br>
> <p>Indtast meddelse: </p><input type="text"
> name="besked" size="250"><br>
> <input type="submit" name="submitknap" value="send e-mail">
> <input type="reset" name="resetknap" value="slet">
>
> </form>
>
> <?php
>
> mail("sorenh@gmx.net", "navn:", $navn,
> "\nafsender:", $email,
> "\nBesked:", $besked);
>
> echo "Mail er sendt til sorenh@gmx.net";
> echo "<p>Tilbage til <a href=\"email.php\">siden</a>";
>
> ?>
>
> På forhånd tak !
>
> Søren
>
>



Søren (21-05-2002)
Kommentar
Fra : Søren


Dato : 21-05-02 21:43

Hej,

Tak for jeres hjælp. Jeg prøvede Lars Dahls' kode og den virker. Jeg har
ikke fået prøvet de andre, så dem har jeg ikke fået testet endnu.

Søren



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste