Hei allesammen
jeg har dette script som burde kontrollere en email før den sender mailen afsted.
koden:
- echo "<br />Alle med (*) skal udfyldes!.<br /><br />";
-
- echo"<form action='index.php?page=11' method='post'>
- *Email: <br /><input type='text' name='email' cols=20><br /><br />
- *Navn: <br /><input type='text' name='name' cols=20><br /><br />
- *By: <br /><input type='text' name='by' cols=20><br /><br />
-
- *Beskeden:<br /> <textarea name='message' cols=20 rows=10></textarea><br /><br />
- <input type='submit' value='Send'>
- </form>";
-
- function spamcheck($field)
-
- {
- //filter_var() sanitizes the e-mail
- //address using FILTER_SANITIZE_EMAIL
- $field=filter_var($field, FILTER_SANITIZE_EMAIL);
-
- //filter_var() validates the e-mail
- //address using FILTER_VALIDATE_EMAIL
- if(filter_var($field, FILTER_VALIDATE_EMAIL))
- {
- return TRUE;
- }
- else
- {
- return FALSE;
- }
- }
-
- if (isset($_REQUEST['email']) && isset($_REQUEST['name']) && isset($_REQUEST['by']) && isset($_REQUEST['message']))
- {//if "email" is filled out, proceed
-
- //check if the email address is invalid
- $mailcheck = spamcheck($_REQUEST['email']);
- $namecheck = ($_REQUEST['name']);
- $adrcheck = ($_REQUEST['by']);
- //$subjectcheck = ($_REQUEST['subject']);
- $messagecheck = ($_REQUEST['message']);
-
- if ($mailcheck==FALSE)
- {
- echo "<br />Du mangler at udfylde Email<br />";
- }
- if ($namecheck==FALSE)
- {
- echo "<br />Du mangler at udfylde Navn<br />";
- }
- if ($adrcheck==FALSE)
- {
- echo "<br />Du mangler at udfylde din By<br />";
- }
- if ($messagecheck==FALSE)
- {
- echo "<br />Du mangler at udfylde Beskeden<br />";
- }
- else
- {//send email
- $modtager = "email@eksempel";
- $emne = "Ris Og Ros";
- $besked = "Hej, du har modtaget mail fra en bruger: \n
- Navn: " . utf8_decode($_POST['name']). "\n
- By: " . utf8_decode($_POST['by']). "\n
- Email: " . $_POST['email']. "\n\n
- Besked: " . utf8_decode($_POST['message']);
- $header = "from:email";
- mail($modtager, $emne, $besked, $header);
- echo "Mailen er nu sendt";
- }
- }
-
- };
den tjekker godt nok om alle felter er udfyldt osv og det virker også fint men hvis du udfylder alle felter og bare skriver 1@1 eks. hvor emailel skal ind så sender den mailen selvom der faktisk også kommer fejlen du mangler at udfylde email
kan nogen se hvad jeg har gjort galt - er ikke den ebdste til php men heller ikke den dummeste
tak på forhånd
Indlæg senest redigeret d. 25.01.2012 18:31 af Bruger #17014