DRS-NL Liquid
Legacy Member
Vooraleer dat ik mijn probleem heb wil ik zeggen dat dit mijn allereerste stukje php is dat ik ooit heb geschreven, dus wees niet verrast door domme dingen die je eventueel ziet 
Alleszins het probleem zit zo, ik heb een mailform opgesteld en die wil ik posten, maar als ik het emailadres dat ik vraag in de form wil versturen, leest hij de '@' niet in php, ik heb al een echo gedaan om te checken wat van de email hij net leest, en hij leest alleen de letters, maar het punt en de @ leest hij dus niet ...
Mijn form (de php daarin is om te vermelden wat er fout/te kort/niet is):
En mijn postmethode:
Dus mijn form moet naar een pagina gaan en zeggen "mail verstuurd" ofwel en daarna terug gaan naar de form na 3 seconden ofwel een errormessage geven boven mijn form in dezelfde pagina dus.
De link naar de form:
http://www.xpoob-gaming.net/Liquidz0r/probeerselmailform
(je zal zien dat alles gaat, maar dat de mail dus onmogelijk is ^^)
Alvast bedankt,
Simon

Alleszins het probleem zit zo, ik heb een mailform opgesteld en die wil ik posten, maar als ik het emailadres dat ik vraag in de form wil versturen, leest hij de '@' niet in php, ik heb al een echo gedaan om te checken wat van de email hij net leest, en hij leest alleen de letters, maar het punt en de @ leest hij dus niet ...
Mijn form (de php daarin is om te vermelden wat er fout/te kort/niet is):
PHP:
<?php
if (isset($_GET['error'])) {$error = $_GET['error']; echo('Gelieve uw:<b> '.$error.' </b>in te geven');}
?>
<table>
<form method="post" action="sendmail.php">
<tr><td>Naam:</td><td><input type="text" name="Naam" /></td><br /></tr>
<tr><td>E-mail:</td><td><input type="text" name="Email" /></td> <br /> </tr>
<tr><td>Comment:</td><td><textarea name="Comment" cols="30" rows="15"></textarea></td><br /> </tr>
</table>
<input type="submit" value="submit" /><input type="reset" value="erase" />
</form>
En mijn postmethode:
PHP:
<?php
$naam = $_POST['Naam'];
$email = 'Bericht van'.$naam.'('.$_POST['E-mail'].')';
$comment = $_POST['Comment'];
if( strlen($naam) <= 3) {$error[] = 'naam';}
if( (substr_count($email, '@') != 1) || (strlen($email) <=5)) {$error[] = 'email';}
if( strlen($comment) <= 5) {$error[] = 'comment';}
if(isset($error)) {$error=implode(' en ',$error);header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/mail.php?error=".$error);}
else{
mail('[email protected]', 'Test', $comment, 'From: $email');
echo('mail verstuurd');
sleep(3);
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/mail.php");
exit;
}
?>
Dus mijn form moet naar een pagina gaan en zeggen "mail verstuurd" ofwel en daarna terug gaan naar de form na 3 seconden ofwel een errormessage geven boven mijn form in dezelfde pagina dus.
De link naar de form:
http://www.xpoob-gaming.net/Liquidz0r/probeerselmailform
(je zal zien dat alles gaat, maar dat de mail dus onmogelijk is ^^)
Alvast bedankt,
Simon
