Contact formulier
https://www.youtube.com/watch?v=g_r4a-DXA7c
en dit is mijn code:
Ik krijg deze foutmelding: Notice: Use of undefined constant error - assumed 'error' in on line 40 als ik de foutmelding wil testen maar volgens mij is het goed wie is er bereid mij van een klein beetje uitleg te voorzien?
Het is lang gelden maar zoals ik van jullie de tip heb gekregen ben ik begonnen aan de hand van deze video een formulier te bouwen lekker om te beginnen het gaat om deze video: en dit is mijn 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
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
function validate ($name, $email, $subject, $message)
{
$error = '';
if($name == '')
$error = 'U hebt geen naam opgegeven';
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';
if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';
if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';
return $error;
}
$name = '';
$email = '';
$subject = '';
$message = '';
if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$error = validate($name, $email, $subject, $message);
if(error != '')
echo $error;
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Contact </title>
<style>
textarea, div, label, input[type=text] {
font-family:Arial, Helvetica, sans-sarif;
font-size:18px;
width:300px;
}
textarea
input[type=text] {
font-size 14px;
}
textarea {
height:200px;
}
</style>
</head>
<body>
<div>
<h1>Contact </h1>
<form action="" method ="post">
<label for= "name">Naam:</label><input type="text" id="name" name="name" value="<?php echo $name; ?>" />
<label for= "email">Email:</label><input type="text" id="email" name="email" value="<?php echo $email; ?>" />
<label for= "subject">Onderwerp:</label><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" />
<label for="message">Bericht:</label> <textarea id="message" name="message"><?php echo $message; ?></textarea>
<input type="submit" value ="verzenden" />
</form>
</div>
</body>
</html>
function validate ($name, $email, $subject, $message)
{
$error = '';
if($name == '')
$error = 'U hebt geen naam opgegeven';
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';
if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';
if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';
return $error;
}
$name = '';
$email = '';
$subject = '';
$message = '';
if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$error = validate($name, $email, $subject, $message);
if(error != '')
echo $error;
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Contact </title>
<style>
textarea, div, label, input[type=text] {
font-family:Arial, Helvetica, sans-sarif;
font-size:18px;
width:300px;
}
textarea
input[type=text] {
font-size 14px;
}
textarea {
height:200px;
}
</style>
</head>
<body>
<div>
<h1>Contact </h1>
<form action="" method ="post">
<label for= "name">Naam:</label><input type="text" id="name" name="name" value="<?php echo $name; ?>" />
<label for= "email">Email:</label><input type="text" id="email" name="email" value="<?php echo $email; ?>" />
<label for= "subject">Onderwerp:</label><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" />
<label for="message">Bericht:</label> <textarea id="message" name="message"><?php echo $message; ?></textarea>
<input type="submit" value ="verzenden" />
</form>
</div>
</body>
</html>
Ik krijg deze foutmelding: Notice: Use of undefined constant error - assumed 'error' in on line 40 als ik de foutmelding wil testen maar volgens mij is het goed wie is er bereid mij van een klein beetje uitleg te voorzien?
regel 40 error moet zijn $error.
Bedankt ik laat het topic open omdat ik een vraag heb over uitbreidingen die later komen
Toevoeging op 20/11/2015 21:05:04:
Kunnen jullie mij verder helpen? Ik heb het formulier af met de bijbehorende PHP mailer maar krijg een voor mij niet te verklaren fout op lijn 14: Parse error: syntax error, unexpected '$mail' (T_VARIABLE) in contact.php on line 14 [/B]
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
require 'PHPMailerAutoload.php';
function sendemail($name, $email, $subject, $message)
{
$mail = new PHPMailer;
$mail->From ='[email protected]'
$mail->addAddress = ('[email protected]', 'Ruben van Heteren'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->Subject = $subject;
$mail->Body = $message;
if($mail->send()) {
return true;
// ga dan naar thankyou.html
}
else
{
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
return false;
}
}
function validate ($name, $email, $subject, $message)
{
$error = '';
if($name == '')
$error = 'U hebt geen naam opgegeven';
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';
if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';
if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';
return $error;
}
$name = '';
$email = '';
$subject = '';
$message = '';
if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$error = validate($name, $email, $subject, $message);
if($error != '')
echo $error;
else
if(sendemail($name, $email, $subject, $message) == true)
header ('location: thankyou.html');
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Contact </title>
<style>
textarea, div, label, input[type=text] {
font-family:Arial, Helvetica, sans-sarif;
font-size:18px;
width:300px;
}
textarea
input[type=text] {
font-size 14px;
}
textarea {
height:200px;
}
</style>
</head>
<body>
<div>
<h1>Contact </h1>
<form action="" method ="post">
<label for= "name">Naam:</label><input type="text" id="name" name="name" value="<?php echo $name; ?>" />
<label for= "email">Email:</label><input type="text" id="email" name="email" value="<?php echo $email; ?>" />
<label for= "subject">Onderwerp:</label><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" />
<label for="message">Bericht:</label> <textarea id="message" name="message"><?php echo $message; ?></textarea>
<input type="submit" value ="verzenden" />
</form>
</div>
</body>
</html>
[/php]
require 'PHPMailerAutoload.php';
function sendemail($name, $email, $subject, $message)
{
$mail = new PHPMailer;
$mail->From ='[email protected]'
$mail->addAddress = ('[email protected]', 'Ruben van Heteren'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->Subject = $subject;
$mail->Body = $message;
if($mail->send()) {
return true;
// ga dan naar thankyou.html
}
else
{
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
return false;
}
}
function validate ($name, $email, $subject, $message)
{
$error = '';
if($name == '')
$error = 'U hebt geen naam opgegeven';
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';
if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';
if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';
return $error;
}
$name = '';
$email = '';
$subject = '';
$message = '';
if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$error = validate($name, $email, $subject, $message);
if($error != '')
echo $error;
else
if(sendemail($name, $email, $subject, $message) == true)
header ('location: thankyou.html');
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Contact </title>
<style>
textarea, div, label, input[type=text] {
font-family:Arial, Helvetica, sans-sarif;
font-size:18px;
width:300px;
}
textarea
input[type=text] {
font-size 14px;
}
textarea {
height:200px;
}
</style>
</head>
<body>
<div>
<h1>Contact </h1>
<form action="" method ="post">
<label for= "name">Naam:</label><input type="text" id="name" name="name" value="<?php echo $name; ?>" />
<label for= "email">Email:</label><input type="text" id="email" name="email" value="<?php echo $email; ?>" />
<label for= "subject">Onderwerp:</label><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>" />
<label for="message">Bericht:</label> <textarea id="message" name="message"><?php echo $message; ?></textarea>
<input type="submit" value ="verzenden" />
</form>
</div>
</body>
</html>
[/php]
Wat is er niet aan te verklaren dan? Er mist duidelijk een ; op de voorgaande regel.
Heb de ; op lijn 13 toegevoegd daar had je gelijk maar blijf de fout houden!
Het verzenden werkt nu naar behoren maar wat kan het zijn dat de gene die het formulier invult hier geen kopie van ontvangt?
Dat klopt, dat gebeurt in dit script nergens.
Gewijzigd op 20/11/2015 22:02:35 door - Ariën -
Maar toch krijg ik hem niet.
$mail->addAddress ('[email protected]', 'Ruben van Heteren'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->addCC('$mail');
Toevoeging op 20/11/2015 22:09:16:
He wat vervelend zit hier steeds meer persoonlijke gegevens te dumpen.
Kunnen die nog worden weggehaald?
Gewijzigd op 20/11/2015 22:12:56 door - Ariën -
oke heel veel dank! Is mijn code wel goed en moet ik gewoon lang wachten tot de berichten aankomen?
PhpMailer kent ook een debug-functie. Zet die eens aan. Misschien loopt er wel iets spaak?
Goed:
Door de enkele haakjes stuur je het naar adres $mail en niet naar wat in $mail staat...
$mail->addAddress ('[email protected]', 'Ruben van Heteren'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->addCC($email);
Volgens mij goed probleem het werkt niet. ook niet in ongewenst
Gewijzigd op 21/11/2015 10:16:59 door Rubensky PHP starter
$email en $name wel goed?
Onderste is weer $mail (zonder e)... klopt dat?
alleen levert ook dit niet het gewenste resultaat waar kan je de meldingen van PHP mailer zien of de Debug aanzetten? Kan daar niets over vinden waar dient deze voor? En hoe zet ik deze aan?
Nu heb ik een vak telefoon toegevoegd met controle dat werkt allemaal allen wordt nu de inhoud van dit vak niet meegezonden met de mail wat doe ik mis gezien mijn PHP 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
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
require 'PHPMailerAutoload.php';
function sendemail($name, $email, $subject, $phone, $message)
{
$mail = new PHPMailer;
$mail->From ='mailadres';
$mail->addAddress ('mailadres'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->addCC($email);
$name->name = $name;
$mail->Subject = $subject;
$phone->phone = $phone;
$mail->Body = message;
if($mail->send()) {
return true;
// ga dan naar thankyou.html
}
else
{
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
return false;
}
}
function validate ($name, $email, $subject, $phone, $message)
{
$error = '';
if($name == '')
$error = 'U hebt geen naam opgegeven';
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';
if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';
if ($phone == '')
$error = 'U hebt geen telefoonnummer ingevoerd';
if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';
return $error;
}
$name = '';
$email = '';
$subject = '';
$phone = '';
$message = '';
if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$error = validate($name, $email, $subject, $phone, $message);
if($error != '')
echo $error;
else
if(sendemail($name, $email, $subject, $phone, $message) == true)
header ('location: thankyou.html');
}
?>
require 'PHPMailerAutoload.php';
function sendemail($name, $email, $subject, $phone, $message)
{
$mail = new PHPMailer;
$mail->From ='mailadres';
$mail->addAddress ('mailadres'); // Name is optional
$mail->addReplyTo($email, $name);
$mail->addCC($email);
$name->name = $name;
$mail->Subject = $subject;
$phone->phone = $phone;
$mail->Body = message;
if($mail->send()) {
return true;
// ga dan naar thankyou.html
}
else
{
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
return false;
}
}
function validate ($name, $email, $subject, $phone, $message)
{
$error = '';
if($name == '')
$error = 'U hebt geen naam opgegeven';
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$error = 'U hebt geen emailadres opgegeven opgegeven';
if ($subject == '')
$error = 'U hebt geen onderwerp opgegeven opgegeven';
if ($phone == '')
$error = 'U hebt geen telefoonnummer ingevoerd';
if ($message == '')
$error = 'U hebt geen bericht ingevoerd opgegeven';
return $error;
}
$name = '';
$email = '';
$subject = '';
$phone = '';
$message = '';
if($_SERVER['REQUEST_METHOD'] == 'POST' )
{
//FORMULIER IS VERZONDEN
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$error = validate($name, $email, $subject, $phone, $message);
if($error != '')
echo $error;
else
if(sendemail($name, $email, $subject, $phone, $message) == true)
header ('location: thankyou.html');
}
?>
Huh? Begrijp je wel wat je hier doet?
En op lijn 22 'message'?
Alle gegevens die ingevoerd worden moet wel in de $mail->Body worden gezet.
Nu heb ik het zo:
Code (php)
1
2
3
4
2
3
4
$name->name = $name;
$mail->Subject = $subject;
$mail->Body = $phone;
$mail->Body = $message;
$mail->Subject = $subject;
$mail->Body = $phone;
$mail->Body = $message;
Alleen nog zonder resultaat
Gewijzigd op 21/11/2015 14:13:39 door Rubensky PHP starter