[PHP] mail komt leeg aan, stuurt var niet mee
Het eerste script is het maximailer script van essetee (enigszins aangepast):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
$submit=$_POST["submit"];
$voornaam=$_POST["voornaam"];
$familienaam=$_POST["familienaam"];
$mail=$_POST["mail"];
$bericht=$_POST["bericht"];
if (empty($submit)) {
// is de submit button gelijk aan 0 of niet gedefinieerd ?
echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">";
echo "Uw Voornaam : <br>";
echo "<input type=\"text\" name=\"voornaam\"><br><br>";
echo "Uw Achternaam : <br>";
echo "<input type=\"text\" name=\"familienaam\"><br><br>";
echo "Uw Emailadres : <br>";
echo "<input type=\"text\" name=\"mail\"><br><br>";
echo "Uw Bericht:<br>";
echo "<textarea name=\"bericht\" cols=\"50\" rows=\"5\" wrap=\"soft\">";
echo "</textarea><br><br>";
echo "<input type=\"reset\" name=\"reset\" value=\"Alles wissen\">";
echo "<!-- belangrijk, noem de verzendknop submit ! -->";
echo "<input type=\"submit\" name=\"submit\" value=\"Verzenden\">";
echo "</form>";
}
else {
//als submit is gedefinieerd
foreach($_POST as $key => $value) {
// hier lopen we alle velden van het formulier na
if (empty($value)) {
// is er een veld ledig, nul of niet gedefinieerd ?
echo "<p> Gelieve alle velden in te vullen a.u.b. !</p><br>";
echo "<form>";
echo "<input type=\"button\" value=\"Terug naar vorige pagina\" onclick=\"javascript:history.back()\">";
echo "</form>";
echo "<!-- Voor hen die geen javascript hebben : -->";
echo "<noscript>Klik op de vorige knop in uw browser om terug te keren naar de vorige pagina.</noscript>";
exit; // verlaat de lus alsook het programma !
}
}
echo "<p>Dag <strong>$voornaam $familienaam</strong><br>\n";
echo "<p>Uw email adres is <strong>$mail</strong></p>\n";
echo "<p>U schreef :</p>\n";
echo "<i>" . stripslashes(nl2br($bericht)) . "</i><br><br>\n";
echo "<p>Zijn de gegevens correct?</p><br>\n";
$message="$voornaam $familienaam,$mail heeft geschreven\n$bericht";
$message=htmlspecialchars($message);
echo "<form action=\"mail.php\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"mail\" value=\"$mail\">\n";
echo "<input type=\"hidden\" name=\"message\" value=\"$message\">\n";
echo "<input type=\"button\" value=\"Neen\"";
echo "onclick=\"javascript:history.back()\">\n";
echo "<noscript>Gebruik de terug toets in je browser om naar de vorige pagina terug te keren !</noscript>\n";
echo "<input type=\"submit\" name=\"mail versturen\" ";
echo "value=\"Alles is correct\"></form>\n";
}
?>
$submit=$_POST["submit"];
$voornaam=$_POST["voornaam"];
$familienaam=$_POST["familienaam"];
$mail=$_POST["mail"];
$bericht=$_POST["bericht"];
if (empty($submit)) {
// is de submit button gelijk aan 0 of niet gedefinieerd ?
echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">";
echo "Uw Voornaam : <br>";
echo "<input type=\"text\" name=\"voornaam\"><br><br>";
echo "Uw Achternaam : <br>";
echo "<input type=\"text\" name=\"familienaam\"><br><br>";
echo "Uw Emailadres : <br>";
echo "<input type=\"text\" name=\"mail\"><br><br>";
echo "Uw Bericht:<br>";
echo "<textarea name=\"bericht\" cols=\"50\" rows=\"5\" wrap=\"soft\">";
echo "</textarea><br><br>";
echo "<input type=\"reset\" name=\"reset\" value=\"Alles wissen\">";
echo "<!-- belangrijk, noem de verzendknop submit ! -->";
echo "<input type=\"submit\" name=\"submit\" value=\"Verzenden\">";
echo "</form>";
}
else {
//als submit is gedefinieerd
foreach($_POST as $key => $value) {
// hier lopen we alle velden van het formulier na
if (empty($value)) {
// is er een veld ledig, nul of niet gedefinieerd ?
echo "<p> Gelieve alle velden in te vullen a.u.b. !</p><br>";
echo "<form>";
echo "<input type=\"button\" value=\"Terug naar vorige pagina\" onclick=\"javascript:history.back()\">";
echo "</form>";
echo "<!-- Voor hen die geen javascript hebben : -->";
echo "<noscript>Klik op de vorige knop in uw browser om terug te keren naar de vorige pagina.</noscript>";
exit; // verlaat de lus alsook het programma !
}
}
echo "<p>Dag <strong>$voornaam $familienaam</strong><br>\n";
echo "<p>Uw email adres is <strong>$mail</strong></p>\n";
echo "<p>U schreef :</p>\n";
echo "<i>" . stripslashes(nl2br($bericht)) . "</i><br><br>\n";
echo "<p>Zijn de gegevens correct?</p><br>\n";
$message="$voornaam $familienaam,$mail heeft geschreven\n$bericht";
$message=htmlspecialchars($message);
echo "<form action=\"mail.php\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"mail\" value=\"$mail\">\n";
echo "<input type=\"hidden\" name=\"message\" value=\"$message\">\n";
echo "<input type=\"button\" value=\"Neen\"";
echo "onclick=\"javascript:history.back()\">\n";
echo "<noscript>Gebruik de terug toets in je browser om naar de vorige pagina terug te keren !</noscript>\n";
echo "<input type=\"submit\" name=\"mail versturen\" ";
echo "value=\"Alles is correct\"></form>\n";
}
?>
Dan wordt het formulier vervolgens verstuurd volgens mail.php:
Code (php)
Ik heb het gevoel dat het in de laatste niet klopt. Maar misschien zit ik er helemaal naast. Wie kan me helpen zodat ook $message en Van:$mail worden meegestuurd?
Bij voorbaat dank en groetjes
Iris
Gewijzigd op 01/01/1970 01:00:00 door Iris
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
shithier....,"$message",...shitdaar //$message is natuurlijk geen string maar een
//variabele dus buiten "" halen
//dit is juist:
if(mail("[email protected]","You've got mail !",$message,"Van: $mail")) {
//zie ook code highlighting
//ik twijfel over het gebruik van "Van:" volgens mij moet dat From zijn...
?>
shithier....,"$message",...shitdaar //$message is natuurlijk geen string maar een
//variabele dus buiten "" halen
//dit is juist:
if(mail("[email protected]","You've got mail !",$message,"Van: $mail")) {
//zie ook code highlighting
//ik twijfel over het gebruik van "Van:" volgens mij moet dat From zijn...
?>
http://nl2.php.net/mail
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
Bedankt voor je snelle reactie. Ik heb het geprobeerd. Eerst $message buiten "" gehaald, werkte niet. Toen ook de van in from veranderd, werkte niet. Toen de hele from maar weggehaald en $mail hetzelfde als $message maar ook dat werkt dus niet.
Op http://nl2.php.net/mail kom ik er ook niet uit. Ik heb geen lokale server maar test m'n site steeds online. Ik snap nu niet helemaal wat ik moet doen met die smtp-configuratie. Hoeft dat misschien niet als ik 'm online test?
Alle andere tips zijn nog welkom hoor. Ik puzzel me gek en ik kom er wel uit maar het is best lastig. Ben nog maar kort bezig met php.
Groetjes Iris