/ 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
Hjælp til mailform
Fra : BJ


Dato : 06-07-08 19:34

Jeg har lavet, (syntes jeg selv) en simpel mailform, den virkere bare ikke.
Siden bliver vist fint og når jeg trykker på send blinker siden kort også
sker der ikke mere. Får aldrig en mail.

En der kan se hvad der er galt ??

<?php
if(isset($_POST['send'])){

mail("andre21@ofir.dk", "$_POST[emne]", "$_POST[besked]", "From:
$_POST[navn] <$_POST[mail]>");

echo "Din mail er nu sendt";
}

?>

<form action="<?php echo $PHP_SELF; ?>" method="post">

<table border="0">
<tr>
<td></td>
<td>
<select name="Valgmenu">
<option selected value="2 GB">2 GB 49,00 kr.</option>
<option value="5 GB">5 GB 99,00 kr.</option>
<option value="10 GB">10 GB 175,00 kr.</option>
</select>
</td>
</tr>
<tr>
<td>Navn:</td>
<td><input type="text" size="35" name="navn" value=""></td>
</tr>
<tr>
<td>Adresse:</td>
<td><input type="text" size="35" name="adresse" value=""></td>
</tr>
<tr>
<td>Postnr.:</td>
<td><input type="text" size="4" name="Postnr." value=""> By: <input
type="text" size="22" name="By:" value=""></td>
</tr>
<tr>
<td>Mail:</td>
<td><input type="text" size="35" name="mail:" value=""></td>
</tr>
</table>

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



 
 
Bertel Lund Hansen (06-07-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 06-07-08 20:01

BJ skrev:

> if(isset($_POST['send'])){

Du kalder din submitknap "Bestil". Det skal laves om til "send".

Du har punktum og kolon i nogle variabelnavne. De skal væk.
Derudover vil jeg råde dig til altid kun at bruge små bogstaver.
Så er du fri for at spekulere på om du nu huskede at skrive det
på den rigtige måde.

> <form action="<?php echo $PHP_SELF; ?>" method="post">

Det skal være:
   <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
   method="post">

men det følgende har samme effekt:

   <form action="#" method="post">

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

BJ (06-07-2008)
Kommentar
Fra : BJ


Dato : 06-07-08 20:29

Hejsa

Har rettet men samme resultat, trykker på send knappen, siden blinker også
sker der ikke mere.



<?php
if(isset($_POST['send'])){

mail(andre21@ofir.dk, "$_POST[emne]", "$_POST[besked]", "From: $_POST[navn]
<$_POST[mail]>");

echo "Din mail er nu sendt";
}

?>

<form action="#" method="post">
<table border="0">
<tr>
<td></td>
<td>
<select name="Valgmenu">
<option selected value="2 GB">2 GB - 49,00 kr.</option>
<option value="5 GB">5 GB - 99,00 kr.</option>
<option value="10 GB">10 GB - 175,00 kr.</option>
</select>
</td>
</tr>
<tr>
<td>Navn:</td>
<td><input type="text" size="35" name="navn" value=""></td>
</tr>
<tr>
<td>Adresse:</td>
<td><input type="text" size="35" name="adresse" value=""></td>
</tr>
<tr>
<td>Postnr.:</td>
<td><input type="text" size="4" name="Postnr" value=""> By: <input
type="text" size="22" name="By:" value=""></td>
</tr>
<tr>
<td>Mail:</td>
<td><input type="text" size="35" name="mail" value=""></td>
</tr>
</table>

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


"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:0852749jgr6i8pt7j0k93iaj976ja7lvtr@news.stofanet.dk...
> BJ skrev:
>
>> if(isset($_POST['send'])){
>
> Du kalder din submitknap "Bestil". Det skal laves om til "send".
>
> Du har punktum og kolon i nogle variabelnavne. De skal væk.
> Derudover vil jeg råde dig til altid kun at bruge små bogstaver.
> Så er du fri for at spekulere på om du nu huskede at skrive det
> på den rigtige måde.
>
>> <form action="<?php echo $PHP_SELF; ?>" method="post">
>
> Det skal være:
> <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
> method="post">
>
> men det følgende har samme effekt:
>
> <form action="#" method="post">
>
> --
> Bertel
> http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/



Dan Storm (07-07-2008)
Kommentar
Fra : Dan Storm


Dato : 07-07-08 07:37

BJ skrev:

> En der kan se hvad der er galt ??
>
> <?php
> if(isset($_POST['send'])){

Betingelsen bliver aldrig opfyldt.

>
> mail("andre21@ofir.dk", "$_POST[emne]", "$_POST[besked]", "From:
> $_POST[navn] <$_POST[mail]>");

$_POST variablernn emne og besked bliver ikke benyttet.


>
> <form action="<?php echo $PHP_SELF; ?>" method="post">

Skal være:
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

> <td>Postnr.:</td>
> <td><input type="text" size="4" name="Postnr." value=""> By: <input
> type="text" size="22" name="By:" value=""></td>
> </tr>
> <tr>
> <td>Mail:</td>
> <td><input type="text" size="35" name="mail:" value=""></td>
> </tr>
> </table>

Du har punktummer og kolon i dine input names. Ved ikke om det har en
effekt, men det er ikke pænt og du kalder heller ikke dine variabler det
samme når du forsøger at hente dem med PHP.

Prøv det her istedet:

<?php
if(isset($_POST['send'])){

   $navn = $_POST["navn"];
   $email = $_POST["mail"];
   $valgmenu = $_POST["valgmenu"];
   $adresse = $_POST["adresse"];
   $postnr = $_POST["postnr"];
   $by = $_POST["by"];


   $to = "kjefblkrejb@wewbfwpåbf.ciwjebc"; // Din e-mail her.

   $subject = "Bestilling";

   $headers = "From: ".$navn." <".$email.">\r\n";
   $headers .= "X-Mailer: PHP V.".phpversion()."\r\n";

   $body = "Størrelse: ".$valgmenu."\r\n\r\n";
   $body .= "Bestilt af:\r\n";
   $body .= $navn."\r\n";
   $body .= $adresse."\r\n";
   $body .= $postnr." ".$by."\r\n";


   mail($to, $subject, $body, $headers);

   echo "Din mail er nu sendt";
}

?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="hidden" name="send" value="true" />
<table border="0">
<tr>
<td></td>
<td>
<select name="valgmenu">
<option selected value="2 GB">2 GB 49,00 kr.</option>
<option value="5 GB">5 GB 99,00 kr.</option>
<option value="10 GB">10 GB 175,00 kr.</option>
</select>
</td>
</tr>
<tr>
<td>Navn:</td>
<td><input type="text" size="35" name="navn" value=""></td>
</tr>
<tr>
<td>Adresse:</td>
<td><input type="text" size="35" name="adresse" value=""></td>
</tr>
<tr>
<td>Postnr.:</td>
<td><input type="text" size="4" name="postnr" value=""> By: <input
type="text" size="22" name="by" value=""></td>
</tr>
<tr>
<td>Mail:</td>
<td><input type="text" size="35" name="mail" value=""></td>
</tr>
</table>

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

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

BJ (07-07-2008)
Kommentar
Fra : BJ


Dato : 07-07-08 16:53

Se, så kom det til at virke.

1000 Tak...

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:4871b9a3$0$15881$edfadb0f@dtext01.news.tele.dk...
> BJ skrev:
>
>> En der kan se hvad der er galt ??
>>
>> <?php
>> if(isset($_POST['send'])){
>
> Betingelsen bliver aldrig opfyldt.
>
>>
>> mail("andre21@ofir.dk", "$_POST[emne]", "$_POST[besked]", "From:
>> $_POST[navn] <$_POST[mail]>");
>
> $_POST variablernn emne og besked bliver ikke benyttet.
>
>
>>
>> <form action="<?php echo $PHP_SELF; ?>" method="post">
>
> Skal være:
> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
>
>> <td>Postnr.:</td>
>> <td><input type="text" size="4" name="Postnr." value=""> By: <input
>> type="text" size="22" name="By:" value=""></td>
>> </tr>
>> <tr>
>> <td>Mail:</td>
>> <td><input type="text" size="35" name="mail:" value=""></td>
>> </tr>
>> </table>
>
> Du har punktummer og kolon i dine input names. Ved ikke om det har en
> effekt, men det er ikke pænt og du kalder heller ikke dine variabler det
> samme når du forsøger at hente dem med PHP.
>
> Prøv det her istedet:
>
> <?php
> if(isset($_POST['send'])){
>
> $navn = $_POST["navn"];
> $email = $_POST["mail"];
> $valgmenu = $_POST["valgmenu"];
> $adresse = $_POST["adresse"];
> $postnr = $_POST["postnr"];
> $by = $_POST["by"];
>
>
> $to = "kjefblkrejb@wewbfwpåbf.ciwjebc"; // Din e-mail her.
>
> $subject = "Bestilling";
>
> $headers = "From: ".$navn." <".$email.">\r\n";
> $headers .= "X-Mailer: PHP V.".phpversion()."\r\n";
>
> $body = "Størrelse: ".$valgmenu."\r\n\r\n";
> $body .= "Bestilt af:\r\n";
> $body .= $navn."\r\n";
> $body .= $adresse."\r\n";
> $body .= $postnr." ".$by."\r\n";
>
>
> mail($to, $subject, $body, $headers);
>
> echo "Din mail er nu sendt";
> }
>
> ?>
>
> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
> <input type="hidden" name="send" value="true" />
> <table border="0">
> <tr>
> <td></td>
> <td>
> <select name="valgmenu">
> <option selected value="2 GB">2 GB 49,00 kr.</option>
> <option value="5 GB">5 GB 99,00 kr.</option>
> <option value="10 GB">10 GB 175,00 kr.</option>
> </select>
> </td>
> </tr>
> <tr>
> <td>Navn:</td>
> <td><input type="text" size="35" name="navn" value=""></td>
> </tr>
> <tr>
> <td>Adresse:</td>
> <td><input type="text" size="35" name="adresse" value=""></td>
> </tr>
> <tr>
> <td>Postnr.:</td>
> <td><input type="text" size="4" name="postnr" value=""> By: <input
> type="text" size="22" name="by" value=""></td>
> </tr>
> <tr>
> <td>Mail:</td>
> <td><input type="text" size="35" name="mail" value=""></td>
> </tr>
> </table>
>
> <input type="submit" value="Bestil">
> </form>
>
> --
> Dan Storm - storm at err0r dot dk / http://err0r.dk
>
> Tro ikke brugerne vil gøre noget for at undgå dit killfilter
> - Så vigtig er du heller ikke!



Dennis Munding (10-07-2008)
Kommentar
Fra : Dennis Munding


Dato : 10-07-08 07:01

Hej BJ!
"BJ" skrev:
> Se, så kom det til at virke.
>
> 1000 Tak...
>
> "Dan Storm" skrev:

[SNIP] - En masse kode....

Det kunne din egen opstilling skam også gøre (efter min bedste
overbevisning!)...
Men der manglede en lille, men meget vigtig detalje, som "nørderne" åbenbart
overså.... ;-p

name="send" i dit submit-tag...

Uden det afvikles scriptet ikke, da "isset($_POST['send'])" aldrig bliver
opfyldt...


Blot mit beskedne input...



Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Dan Storm (10-07-2008)
Kommentar
Fra : Dan Storm


Dato : 10-07-08 08:42

Dennis Munding skrev:
> Hej BJ!
> "BJ" skrev:
>> Se, så kom det til at virke.
>>
>> 1000 Tak...
>>
>> "Dan Storm" skrev:
>
> [SNIP] - En masse kode....
>
> Det kunne din egen opstilling skam også gøre (efter min bedste
> overbevisning!)...

Udover at spørger bruger specialtegn i sine name inputs, så bruger han
heller ikke de samme navne angivet i sine inputs som han henter i sit
POST array. Ergo, POST felterne er tomme.

At han så heller ikke får de resterende inputs med (adresse, postnr og
by) havde vist også passeret hans næse, ligeså vel som din? Ret mig hvis
jeg tager fejl.

Hans headers bliver heller ikke afsluttet korrekt.

> Men der manglede en lille, men meget vigtig detalje, som "nørderne"
> åbenbart overså.... ;-p

"nørderne", som du så elegant får det udtrykt, overså ikke noget - hvis
du bemærker det første som både jeg og Bertel skrev, vil du se at vi gør
opmærksom på det.

Skal du have hjælp?

Bertel Lund Hansen skrev:
> Du kalder din submitknap "Bestil". Det skal laves om til "send".

Dan Storm skrev:
>> <?php
>> if(isset($_POST['send'])){
>
> Betingelsen bliver aldrig opfyldt.


> Blot mit beskedne input...

Dit beskedne input virker som uberettiget kritik af to svar som ellers
var acceptable og løste spørgers problem.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

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

Månedens bedste
Årets bedste
Sidste års bedste