Hallo.

Ik heb zojuist een website gemaakt en alles werkt goed op de FORM sectie na.
Als ik mijn e-mail adres invul en verstuur, krijg ik in mijn mailbox alleen te zien:

Time: 21-04-2013 18:55
E-Mail:

Bij E-Mail moet natuurlijk wel mijn ingevulde gegevens komen te staan.
Hieronder vind je mijn HTML code van het FORM en daaronder de PHP voor verzending.


HTML voor op de Website

<section class="form">
<p>Please, leave your email and we will keep you up-to-date</p>
<form action="php/subscibe.php" method="post" id="subscribe">
<input type="text" class="field" value="your email address" title="your email address" name="email" id="email-field" />
<input type="submit" class="submit-btn" value="Submit" />
</form>
<p class="result"></p>
</section>
<!-- end of form -->

:
PHP voor Verzending:


<?php

$MAIL_TO = '[email protected]';

$subject = "New Subscriber";
$time = date('d-m-Y H:i');

$email = $_POST['email'];

$body = "Time: $time\n";
$body.= "Email: $email\n";

$success = @mail($MAIL_TO, $subject, $body);

if ($success) {
echo 'Thank you for subscribing!';
} else {
echo 'Please fix the errors above.';
}
?>


Het is in het Engels gedaan omdat ik met meerdere mensen aan het project werken en die zijn Engelstalig :)

Hopelijk kan iemand mij hier helpen.

Met vriendelijke groet,
Ivan Heerkens
je moet hem niet in die variabele doen, maar gewoon even buiten je script.
Ah oops! oke, opgelost

maar nog altijd blank
Time: 21-04-2013 20:08
Email:
Wat zit er in je $_POST, als je de boel verstuurt?


echo "<pre>".print_r($_POST,true)."</pre>";
- Aar - op 21/04/2013 20:18:48

Wat zit er in je $_POST, als je de boel verstuurt?


echo "<pre>".print_r($_POST,true)."</pre>";



Die code werkt ook niet :(

$email = $_POST['email'];

Dat is het enige wat ik met $_POST heb

Ook kreeg ik nu dit bij verzending:
Array
(
[email] =>
)

Thank you for subscribing!
Die code werkt wel hoor, maar je formulierveld voor de mail wordt niet meegestuurd, blijft uit de extra 'debug-tekst'.
Controleer je wel met:

 if($_SERVER['REQUEST_METHOD']=="POST") {

Of je formulier verstuurd is?
- Aar - op 21/04/2013 20:56:49

Die code werkt wel hoor, maar je formulierveld voor de mail wordt niet meegestuurd, blijft uit de extra 'debug-tekst'.
Controleer je wel met:

 if($_SERVER['REQUEST_METHOD']=="POST") {

Of je formulier verstuurd is?


Nope, maar heb hem nu erin gezet, maar nog altijd blanko mail.
Misschien beter om de FORM en .php te herschrijven?

$body.= "Email: ".$_POST['email']."\n";

Hoe heb je die code van mij geimplementeerd?
- Aar - op 21/04/2013 20:01:40

'title' is geen onderdeel van een input-veld. En als 'internet' dat zegt, dan ben ik benieuwd waar dat op internet verteld is ;-)

Nou, om te beginnen in de HTML-standaards (HTML 4.01 en HTML 5). Eigenlijk de enige plaats waar het op het internet vermeld hoeft te worden. ;-)

staat $body niet op de verkeerde plaats van @mail.
En waarom @mail i.p.v. mail?
Dit is hoe ik de PHP nu heb

<?php
$MAIL_TO = '[email protected]';

$subject = "New Subscriber!";
$time = date('d-m-Y H:i');

$email = $_POST['email'];

$body = "Time: ".$time."\n";
$body.= "Email: ".$_POST['email']."\n";

$success = @mail($MAIL_TO, $subject, $body);

if($_SERVER['REQUEST_METHOD']=="POST") {
echo 'Thank you for subscribing!';
} else {
echo 'Please fix the errors above.';
}
echo "<pre>".print_r($_POST,true)."</pre>";
?>

Na verzending de resultaat op de website:
Thank you for subscribing!Array
(
[email] =>
)

Resultaat in de mail die ik krijg:
Time: 22-04-2013 16:24
Email:


Michael R op 22/04/2013 07:41:35

staat $body niet op de verkeerde plaats van @mail.
En waarom @mail i.p.v. mail?


Qua $body zou ik het niet weten, maar @mail of mail maakt niet uit beide zelfde resultaat.

Reageren