21. december 2002 - 23:28Der er
23 kommentarer og 2 løsninger
Mail-sender-ting
Jeg prøver at lære noget php, og har nu prøvet at lave min første Online-Mail-Sender-Ting... Den jeg har lavet virker i princippet, men eftersom alle variabler og pi* og lor* ligger i samme .php fil, sender den en tom mail til mig, hver gang siden loades/reloades; og det er jo noget skidt. Hvordan kan man komme uden om det?
koden:
<?php include("$_SERVER[DOCUMENT_ROOT]/header.txt"); ?> <br> <center><h1>Brug denne formular, hvis du vil sende mig en mail</h1></center> <br><br>
<form action="sendmail.php" method="post"> Dit navn:<br><input type="text" name="afsnavn" class="box"><br> Din E-Mail:<br><input type="text" name="afsemail" class="box"><br> Din besked:<br><textarea cols="65" rows="4" name="besked" class="box"></textarea><br> <input type="submit" value="Send" class="button" onClick="return alert("nMail'en er nu sendt til mig\r\nTak for din mail.");"> </form>
<? $afsnavn = $_REQUEST["afsnavn"]; $afsemail = $_REQUEST["afsemail"]; $besked = $_REQUEST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail"); ?>
Sådan her måske.... -------------------------------------------------
<?
include("$_SERVER[DOCUMENT_ROOT]/header.txt"); ?> <br> <center><h1>Brug denne formular, hvis du vil sende mig en mail</h1></center> <br><br>
<form action="sendmail.php" method="post"> Dit navn:<br><input type="text" name="afsnavn" class="box"><br> Din E-Mail:<br><input type="text" name="afsemail" class="box"><br> Din besked:<br><textarea cols="65" rows="4" name="besked" class="box"></textarea><br> <input type="submit" value="Send" class="button" onClick="return alert("nMail'en er nu sendt til mig\r\nTak for din mail.");"> </form>
<?
if(isset($POST_send)) { $afsnavn = $_REQUEST["afsnavn"]; $afsemail = $_REQUEST["afsemail"]; $besked = $_REQUEST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail");
Jeg har haft den til at virke, hvis jeg ændrer '<form action="sendmail.php"' til f.eks. '<form action="sendt_mail.php"' og jeg så i filen sendt_mail.php, indsætter <? $afsnavn = $_REQUEST["afsnavn"]; $afsemail = $_REQUEST["afsemail"]; $besked = $_REQUEST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail");
echo "Mail'en er nu sendt til mig. Tak for din mail"; ?>
Men det betyder jo, at den åbner en ny side, hvorfra den sender mail'en. Det vil jeg ikke have. Det eneste jeg vil have, den skal gøre, er at komme med "Alert"-boksen, og så sende mail'en...
<? if(isset($POST_send)) { $afsnavn = $_POST["afsnavn"]; $afsemail = $_POST["afsemail"]; $besked = $_POST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail"); } else { echo 'variablen $POST_send er vist ikke helt god...'; } ?>
<? if(isset($POST)) { $afsnavn = $_POST["afsnavn"]; $afsemail = $_POST["afsemail"]; $besked = $_POST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail"); } else { echo 'variablen $POST_send er vist ikke helt god...'; } ?>
<? if (isset($_POST[])) { $afsnavn = $_POST["afsnavn"]; $afsemail = $_POST["afsemail"]; $besked = $_POST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail"); } else { echo 'variablen $POST_send er vist ikke helt god...'; } ?>
<? if (isset($_POST)) { $afsnavn = $_POST["afsnavn"]; $afsemail = $_POST["afsemail"]; $besked = $_POST["besked"]; mail("Webmaster@exodus.dk","Besked fra Exodus.dk Mail-sender", "Besked sendt fra Exodus.dk fra $afsnavn ($afsemail)\n\nBeskeden:\n$besked", "From: $afsemail\nReply-to: $afsemail"); } else { echo 'variablen $POST_send er vist ikke helt god...'; }
?>
Bliver der stadig sendt en tom mail, ved hver reload
htm: Mit check undersøger om siden blev requestet vha. POST, mens din undersøger om der er sat nogle variable - ikke nødvendigvis det samme, men i dette tilfælde vil resultatet være det samme!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.