<?php { ?> hier html <?php } ?>
wederom een vraag wat niet in me boek word aangehaald
waarom doe je dit?
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
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
<?php
ini_set("SMTP","smtp.live.com");
ini_set("smtp_port","25");
ini_set("sendmail_from","[email protected]");
if ($_POST["verzendbutton"] != "verzenden" || !$_POST["naam"] || !$_POST["mailadres"] || !$_POST["reactie"]) // als het formulier leeg is of 1 van de waarden niet is ingevuld
{
?>
<form action="mailform2.php" method="post" />
Naam: <input type="text" name="naam" /><br />
Email: <input type="text" name="mailadres" /><br />
Reactie: <textarea cols="30" rows="4" name="reactie"></textarea><br />
<input type="submit" value="verzenden" name="verzendbutton" />
</form>
<?php
}
else // in alle andere gevallen
{
$boodschap = "Naam: " . $_POST["naam"] . "\n Commentaar: " . $_POST["reactie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap); // stuur de mail met de info:
echo "bedankt " . $naam . ", leuk dat je mee wilde doen!";
}
?>
</body>
</html>
ini_set("SMTP","smtp.live.com");
ini_set("smtp_port","25");
ini_set("sendmail_from","[email protected]");
if ($_POST["verzendbutton"] != "verzenden" || !$_POST["naam"] || !$_POST["mailadres"] || !$_POST["reactie"]) // als het formulier leeg is of 1 van de waarden niet is ingevuld
{
?>
<form action="mailform2.php" method="post" />
Naam: <input type="text" name="naam" /><br />
Email: <input type="text" name="mailadres" /><br />
Reactie: <textarea cols="30" rows="4" name="reactie"></textarea><br />
<input type="submit" value="verzenden" name="verzendbutton" />
</form>
<?php
}
else // in alle andere gevallen
{
$boodschap = "Naam: " . $_POST["naam"] . "\n Commentaar: " . $_POST["reactie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap); // stuur de mail met de info:
echo "bedankt " . $naam . ", leuk dat je mee wilde doen!";
}
?>
</body>
</html>
dan bedoel ik
<form></form>
is dit zodat je dan niet hoeft te escapen?
tnks
Anders zou je dit allemaal moet echoën.
if($_SERVER['REQUEST_METHOD'] == 'POST')
Jouw if() is niet best.
if (... || !$_POST["naam"] || ...)
Met !$_POST["naam"] kijk je eigenlijk of $_POST["naam"] true of false is en dat slaat nergens op. Geldt uiteraard ook voor de anderen.
Stop nooit zomaar ongecontroleerde input van de gebruiker in een database of in een email. Er kunnen hackers mee aan de slag. Je gebruikt $naam onderin je script. Deze zal niet bestaan want die is nergens aangemaakt.
Gebruik goede headers in je email.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
Gewijzigd op 29/02/2012 18:35:49 door - SanThe -
Wouter J op 29/02/2012 18:12:50:
Je moet talen altijd uit elkaar houden. Als je dus wat HTML wilt laten zien dan ga je dat niet echoën in PHP, maar sluit je PHP even en daarna open je het weer. Dat is wat je daar doen.
Je kan dan beter gebruik maken van de alternative syntax.
Je kan dan beter gebruik maken van de alternative syntax.
je bedoeld dus dat ik het zo doe
ipv
neem ik aan?
Toevoeging op 29/02/2012 18:44:43:
- SanThe - op 29/02/2012 18:31:35:
Kijken of een formulier is gepost kan je beter met dit doen:
if($_SERVER['REQUEST_METHOD'] == 'POST')
Jouw if() is niet best.
if (... || !$_POST["naam"] || ...)
Met !$_POST["naam"] kijk je eigenlijk of $_POST["naam"] true of false is en dat slaat nergens op. Geldt uiteraard ook voor de anderen.
Stop nooit zomaar ongecontroleerde input van de gebruiker in een database of in een email. Er kunnen hackers mee aan de slag. Je gebruikt $naam onderin je script. Deze zal niet bestaan want die is nergens aangemaakt.
Gebruik goede headers in je email.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
if($_SERVER['REQUEST_METHOD'] == 'POST')
Jouw if() is niet best.
if (... || !$_POST["naam"] || ...)
Met !$_POST["naam"] kijk je eigenlijk of $_POST["naam"] true of false is en dat slaat nergens op. Geldt uiteraard ook voor de anderen.
Stop nooit zomaar ongecontroleerde input van de gebruiker in een database of in een email. Er kunnen hackers mee aan de slag. Je gebruikt $naam onderin je script. Deze zal niet bestaan want die is nergens aangemaakt.
Gebruik goede headers in je email.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
kan je deze methode toelichten met een voorbeeldje uit me script?
de methode die ik gebruik komt zo uit me boek..
me vorige boek deed het weer op een andere manier maar daar had ik ook al het 1 en ander aan commetaar over gehoord (denk dat dit het nadeel is van boeken, snel achterhaald)
de $naam was een fout dit moest $_POST["naam"] zijn
Toevoeging op 29/02/2012 18:46:23:
me script nu is:
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
56
57
58
59
60
61
62
63
64
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
56
57
58
59
60
61
62
63
64
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mailform met controle submit</title>
</head>
<body>
<?php
//wat instellingen voor de mailserver (doet geen moer maargoed zal wel aan xamp ligge)
ini_set("SMTP","smtp.live.com");
ini_set("smtp_port","25");
ini_set("sendmail_from","[email protected]");
// als het formulier leeg is of 1 van de waarden niet is ingevuld
if ($_POST["verzendbutton"] != "verzenden" ||
!$_POST["naam"] ||
!$_POST["mailadres"] ||
!$_POST["reactie"])
{
?>
<!-- het formuliertje -->
<form action="mailform2.php" method="post" />
<?php
if($_POST["verzendbutton"] && !$_POST["naam"])
{
echo "<font color=\"#FF0000\"> Vul hier de naam in!</font><br />";
}
?>
Naam: <input type="text" name="naam" value="<?php $_POST["naam"] ?>" /><br />
<?php
if($_POST["verzendbutton"] && !$_POST["mailadres"])
{
echo "<font color=\"#FF0000\"> Vul hier uw e-mail adres in!</font><br />";
}
?>
Email: <input type="text" name="mailadres" value="<?php $_POST["mailadres"] ?>" /><br />
<?php
if($_POST["verzendbutton"] && !$_POST["reactie"])
{
echo "<font color=\"#FF0000\"> Vul hier uw reactie in!</font><br />";
}
?>
Reactie: <textarea cols="30" rows="4" name="reactie"><?php $_POST["reactie"] ?></textarea><br />
<input type="submit" value="verzenden" name="verzendbutton" />
</form>
<?php
}
else // in alle andere gevallen
{
$boodschap = "Naam: " . $_POST["naam"] . "\n Commentaar: " . $_POST["reactie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap); // stuur de mail met de info:
echo "bedankt " . $_POST["naam"] . ", leuk dat je mee wilde doen!";
}
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mailform met controle submit</title>
</head>
<body>
<?php
//wat instellingen voor de mailserver (doet geen moer maargoed zal wel aan xamp ligge)
ini_set("SMTP","smtp.live.com");
ini_set("smtp_port","25");
ini_set("sendmail_from","[email protected]");
// als het formulier leeg is of 1 van de waarden niet is ingevuld
if ($_POST["verzendbutton"] != "verzenden" ||
!$_POST["naam"] ||
!$_POST["mailadres"] ||
!$_POST["reactie"])
{
?>
<!-- het formuliertje -->
<form action="mailform2.php" method="post" />
<?php
if($_POST["verzendbutton"] && !$_POST["naam"])
{
echo "<font color=\"#FF0000\"> Vul hier de naam in!</font><br />";
}
?>
Naam: <input type="text" name="naam" value="<?php $_POST["naam"] ?>" /><br />
<?php
if($_POST["verzendbutton"] && !$_POST["mailadres"])
{
echo "<font color=\"#FF0000\"> Vul hier uw e-mail adres in!</font><br />";
}
?>
Email: <input type="text" name="mailadres" value="<?php $_POST["mailadres"] ?>" /><br />
<?php
if($_POST["verzendbutton"] && !$_POST["reactie"])
{
echo "<font color=\"#FF0000\"> Vul hier uw reactie in!</font><br />";
}
?>
Reactie: <textarea cols="30" rows="4" name="reactie"><?php $_POST["reactie"] ?></textarea><br />
<input type="submit" value="verzenden" name="verzendbutton" />
</form>
<?php
}
else // in alle andere gevallen
{
$boodschap = "Naam: " . $_POST["naam"] . "\n Commentaar: " . $_POST["reactie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap); // stuur de mail met de info:
echo "bedankt " . $_POST["naam"] . ", leuk dat je mee wilde doen!";
}
?>
</body>
</html>
Gewijzigd op 29/02/2012 18:34:43 door raymond de graaf
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Ipv
Code (php)
Zo houd je je code overzichtelijk en kost het minder werkt.
En je hebt html niet helemaal door php heen zitten.
Gewijzigd op 29/02/2012 20:39:38 door Bas van de Steeg
alleen als ik
if($_SERVER['REQUEST_METHOD'] == 'POST'){
boven aan zet en dan onderaan
}
dan word heel de pagina wit..
wat doe ik mis?
Je moet het niet boven aan zetten en dan onderaan } je moet het vervangen voor
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
if ($_POST["verzendbutton"] != "verzenden" ||
!$_POST["naam"] ||
!$_POST["mailadres"] ||
!$_POST["reactie"])
{
?>
if ($_POST["verzendbutton"] != "verzenden" ||
!$_POST["naam"] ||
!$_POST["mailadres"] ||
!$_POST["reactie"])
{
?>
Dus maak er
Van.
Controleer dan wel, als het formulier verzonden blijkt, of de velden gevuld zijn (isset) en of de waarden kunnen kloppen.