Fout in mail formulier
Ik heb begonnen met PHP ik had al een klein beetje voorkennis maar breid dit nu uit via Het Complete Boek van Arjan Burger 1 van mijn formulieren geeft een fout op line 10. Wie kan mij helpen?
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
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
<html>
<head>
<title>Mailformulier </title>
</head>
<body>
<?php
ini_set ("SMTP", "mail.live.com");
ini_set ("smtp_poort" , 25);
ini_set ("sendmail_from" , "hier vul ik een hotmail adres in ");
if ($_POST["verzendbutton"] != "verzenden") { // als het formulier leeg is
?>
<form action ="mailform2.php" method="post">
Naam: <input type = "text" name = "naam"><br>
E-mail: <input type = "text" name = "mailadres"><br>
Uw reactie: <textarea cols = "30" rows = "4" name = "reactie"></textarea><br>
<input type = "submit" value = "verzenden" name = "verzendbutton">
</form>
<?php
} else { // in alle andere gevallen (dus formulier verzonden
$boodschap = "Naam: ".$POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($POST["mailadres"], "Uw reactie van de website", $boodschap);
echo "Bedankt ".$naam.", fijn dat je mee wilde doen!";
}
?>
</body>
</html>
<head>
<title>Mailformulier </title>
</head>
<body>
<?php
ini_set ("SMTP", "mail.live.com");
ini_set ("smtp_poort" , 25);
ini_set ("sendmail_from" , "hier vul ik een hotmail adres in ");
if ($_POST["verzendbutton"] != "verzenden") { // als het formulier leeg is
?>
<form action ="mailform2.php" method="post">
Naam: <input type = "text" name = "naam"><br>
E-mail: <input type = "text" name = "mailadres"><br>
Uw reactie: <textarea cols = "30" rows = "4" name = "reactie"></textarea><br>
<input type = "submit" value = "verzenden" name = "verzendbutton">
</form>
<?php
} else { // in alle andere gevallen (dus formulier verzonden
$boodschap = "Naam: ".$POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($POST["mailadres"], "Uw reactie van de website", $boodschap);
echo "Bedankt ".$naam.", fijn dat je mee wilde doen!";
}
?>
</body>
</html>
Er staat in mijn formulier dus ergens een fout wie kan mij helpen? En zijn de SMTP gegevens juist voor een Hotmail mail adres?
Ik gebruik een Xampp server (localhost)
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 11/07/2014 12:18:12 door Bas IJzelendoorn
Wat hier in elk geval fout gaat is dit:
Voorbeeldje van niet secuur genoeg werken.
Ik begrijp alleen niet waar jij de fout hebt gevonden in mijn script staat er toch ["naam"]? line 3 2de deel?
De hele manier van controleren is fout en onlogisch.
Gebruik deze structuur.
Code (php)
Gewijzigd op 10/07/2014 17:07:20 door - Ariën -
De fout die je meldt is niet te herleiden tot dit deel van je script. Er wordt in dit deel van je script namelijk nergens een array aangeroepen met een index 'verzenden'. Foutmelding komt dus of niet uit dit stuk, of je hebt iets aangepast voor of na je dit stuk poste.
Ik heb $_POST gedaan nog steeds heb ik de fout
Gewijzigd op 10/07/2014 17:10:39 door Rubensky PHP starter
Dat boek staat vol fouten en onvolkomenheden kan ik je vertellen.
Daar ben ik inmiddels ook achter maar toch kan je het volgens mij best wel eruit leren als je de fouten er tenminste uit kan krijgen :(
Ruben van Heteren op 10/07/2014 17:07:56:
Ik heb $_POST gedaan nog steeds heb ik de fout
Daar mekkerde php ook nog niet over, desalniettemin was het een fout.
De fout waar php wel over mekkert is, zoals ik al zei, niet te herleiden naar wat je hier post. Met wat je dus laat zien kunnen we je niet verder helpen. Zoek dus nog eens goed naar waar de fout zit, want die zit of ergens anders, of je laat niet zien wat je echt hebt aan code.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
ini_set ("SMTP", "mail.live.com");
ini_set ("smtp_poort" , 25);
ini_set ("sendmail_from" , "hier vul ik een hotmail adres in ");
if (isset($_POST["verzendbutton"]) != "verzenden") { // als het formulier leeg is
?>
<html>
<body>
<form action ="" method="post">
Naam: <input type = "text" name = "naam"><br>
E-mail: <input type = "text" name = "mailadres"><br>
Uw reactie: <textarea cols = "30" rows = "4" name = "reactie"></textarea><br>
<input type = "submit" value = "verzenden" name = "verzendbutton">
</form>
<?php
} else { // in alle andere gevallen (dus formulier verzonden
$boodschap = "Naam: ".$_POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap);
echo "Bedankt ".$_POST["naam"].", fijn dat je mee wilde doen!";
}
?>
</body>
</html>
ini_set ("SMTP", "mail.live.com");
ini_set ("smtp_poort" , 25);
ini_set ("sendmail_from" , "hier vul ik een hotmail adres in ");
if (isset($_POST["verzendbutton"]) != "verzenden") { // als het formulier leeg is
?>
<html>
<body>
<form action ="" method="post">
Naam: <input type = "text" name = "naam"><br>
E-mail: <input type = "text" name = "mailadres"><br>
Uw reactie: <textarea cols = "30" rows = "4" name = "reactie"></textarea><br>
<input type = "submit" value = "verzenden" name = "verzendbutton">
</form>
<?php
} else { // in alle andere gevallen (dus formulier verzonden
$boodschap = "Naam: ".$_POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap);
echo "Bedankt ".$_POST["naam"].", fijn dat je mee wilde doen!";
}
?>
</body>
</html>
H Kse op 10/07/2014 17:24:20:
om je foutmeldingen te verhelpen
Creeer jij weer nieuwe....
Je sluit </body></html> zonder dat ze open zijn (in de else).
Gewijzigd op 10/07/2014 17:51:21 door - SanThe -
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
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
<html>
<head>
<title>Mailformulier </title>
</head>
<body>
<?php
ini_set("SMTP", "mail.live.com");
ini_set("smtp_poort", 25);
ini_set("sendmail_from", "mailadres");
if($_POST["verzendbutton"] != "verzenden" || !$_POST["naam"] ||
!$_POST["mailadres"] ||
!$_POST["reactie"]) { // dus als het formulier leeg is of de waarde niet zijn ingevuld
?>
<form action="mailform3.php" method = "post">
<?php
if ($_POST["verzendbutton"] && !$_POST["naam"]) {
!$_POST["mailadres"] ||
!$_POST["reactie"] {
echo "<font color=\"red\"> Vul hier uw mailadres in</font><br>";
}
?>
naam: <input type = "text" name = "naam" value ="<?php echo $_POST =["naam"]
?>"><br>
<?php
if ($_POST["verzendbutton"] && !$_POST["mailadres"]) {
echo "<font color =\"red\"> Vul hier uw mailadres in!</font><br>";
}
?>
E-mail: <input type = "text" name ="mailadres" value="<?php echo $_POST["mailadres"] ?>"><br>
<?php
if ($_POST["verzendbutton"] && !$_POST["reactie"]) {
echo "<font color=\"red\">Vul hier uw reactie in!</font<br>";
}
?>
Uw reactie": <textarea cols="30"rows ="4" name="reactie"><?php echo $_POST["reactie"] ?> </textarea>
<input type = "submit" value ="verzenden" name ="verzendbutton">
</form>
<?php
} else {
$boodschap = "Naam: ".$_POST["naam"]."\ncommentaar: ".$_POST["reacrie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap);
echo "Bedankt ".$_POST["naam"].", fijn dat je mee wilde doen!";
}
?>
</body>
</html>
<head>
<title>Mailformulier </title>
</head>
<body>
<?php
ini_set("SMTP", "mail.live.com");
ini_set("smtp_poort", 25);
ini_set("sendmail_from", "mailadres");
if($_POST["verzendbutton"] != "verzenden" || !$_POST["naam"] ||
!$_POST["mailadres"] ||
!$_POST["reactie"]) { // dus als het formulier leeg is of de waarde niet zijn ingevuld
?>
<form action="mailform3.php" method = "post">
<?php
if ($_POST["verzendbutton"] && !$_POST["naam"]) {
!$_POST["mailadres"] ||
!$_POST["reactie"] {
echo "<font color=\"red\"> Vul hier uw mailadres in</font><br>";
}
?>
naam: <input type = "text" name = "naam" value ="<?php echo $_POST =["naam"]
?>"><br>
<?php
if ($_POST["verzendbutton"] && !$_POST["mailadres"]) {
echo "<font color =\"red\"> Vul hier uw mailadres in!</font><br>";
}
?>
E-mail: <input type = "text" name ="mailadres" value="<?php echo $_POST["mailadres"] ?>"><br>
<?php
if ($_POST["verzendbutton"] && !$_POST["reactie"]) {
echo "<font color=\"red\">Vul hier uw reactie in!</font<br>";
}
?>
Uw reactie": <textarea cols="30"rows ="4" name="reactie"><?php echo $_POST["reactie"] ?> </textarea>
<input type = "submit" value ="verzenden" name ="verzendbutton">
</form>
<?php
} else {
$boodschap = "Naam: ".$_POST["naam"]."\ncommentaar: ".$_POST["reacrie"];
mail($_POST["mailadres"], "Uw reactie van de website", $boodschap);
echo "Bedankt ".$_POST["naam"].", fijn dat je mee wilde doen!";
}
?>
</body>
</html>
Gewijzigd op 11/07/2014 12:18:42 door Bas IJzelendoorn
Verder is het verstandiger om eens naar mijn vorige reactie te kijken, en deze proberen te implementeren.
Gewijzigd op 10/07/2014 21:38:04 door - Ariën -
Ruben van Heteren op 10/07/2014 21:13:16:
Ik begrijp het ik heb nu weer een formulier met een fout kan iemand helpen en simpel uitleggen wat er fout gaat?
Ik neem aan dat wij wederom zelf moeten gaan raden wat de foutmelding is ?
Helaas, dat soort grappen stop ik echt mee.
Verder zou ik je willen adviseren om je PHP en HTML zo veel mogelijk te scheiden.
Normaal begin je bovenaan met PHP en wanneer dat afgerond is plaats je daaronder de HTML
Wat je nu doet is er een zooitje van maken. HTML tags worden al dan niet geopend of afgeloten fhankelijk van ee paar regels PHP tussendoor zonder dat er ook maar enige structuur in zit.
Kijk eens of dat boek het ook heeft over inspringen van de code om één en ander een beetje duidelijker en overzichtelijker te krijgen.
Maar als ik een gok waag, denk ik (weet ik) dat het hier in elk geval mis gaat.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if ($_POST["verzendbutton"] && !$_POST["naam"]) {
!$_POST["mailadres"] ||
!$_POST["reactie"] {
?>
if ($_POST["verzendbutton"] && !$_POST["naam"]) {
!$_POST["mailadres"] ||
!$_POST["reactie"] {
?>
Op regel 1 van dit stukje heb je een if statement, dat je afsluit middels het sluitende haakje. Dan open je het code blok met de accolade..... en dan komen er nog wat zwevende condities achteraan. Dat kan natuurlijk niet.
Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\xampp\htdocs\webshop\formulier\mailform3.php on line 19
Gewijzigd op 23/07/2014 21:06:07 door - Ariën -
Waarom je glazenbol? de code is de bovenstaande!
Tweede lijn van je stukje relevante code, accolade teveel.
Kan je me helpen geen idee welke je bedoeld.
Die eerste in je if aan het einde van lijn 2... daarna ga je gewoon lekker door met je statement en dat kan natuurlijk niet.