Archief - PHP: Mailform probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

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 :P

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

$ph!nx

Legacy Member
in je form staat: $_POST['Email']
en in je php code staat: $_POST['E-mail']

DRS-NL Liquid

Legacy Member
$ph!nx zei:
in je form staat: $_POST['Email']
en in je php code staat: $_POST['E-mail']

Ok, thx lol ... dat was wss nog de stomste fout die ik kon maken :P

Maarja, het werkt nu :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan