Vind de typo niet :/
Ik heb een boek gekocht over PHP met tutorials enzv.
Ik ben het aan het leren en dit is het script dat ik heb gemaakt:
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
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
<!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>Untitled Document</title>
</head>
<body>
<?php
//error_reporting(E_ALL);
//ini_set("display_errors", 1);
if (!empty($_REQUEST['name'])){
$name = $_REQUEST['name'];
}
else
{
$name = NULL;
echo "<p>You forgot to fill in your name!</p>";
}
if (!empty($_REQUEST['email'])){
$email = $_REQUEST['email'];
}
else
{
$email = NULL;
echo "<p>You forgot to fill in your E-mail!</p>";
}
//CHecking Gender
if(isset($_REQUEST['gender'])){
$gender = $_REQUEST['gender'];
}
if ($gender == 'M'){
$gender = "<p> Good day sir!</p>"
}
elseif ($gender == 'F'){
$gender = "<p> Good day Madam!</p>"
}
else
{
$gender = NULL;
echo "<p>You forgot to fill in your Gender!</p>";
}
if (!empty($_REQUEST['age'])){
$age = $_REQUEST['age'];
}
else
{
$age = NULL;
echo "<p>You forgot to fill in your Age!</p>";
}
if (!empty($_REQUEST['comments'])){
$comments = $_REQUEST['comments'];
}
else
{
$comments = NULL;
echo "<p>You forgot to fill in a comment!</p>";
}
if ($name && $email && $gender && $comments && $age){
echo "<p>Thank you, $name for your comment: </p><p>$comments</p><p>We will reply you on the following email: $email.</p><p>$gender</p>";
}
else
{
echo "<p>You didn't fully complete the form! Please go back!";
}
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
//error_reporting(E_ALL);
//ini_set("display_errors", 1);
if (!empty($_REQUEST['name'])){
$name = $_REQUEST['name'];
}
else
{
$name = NULL;
echo "<p>You forgot to fill in your name!</p>";
}
if (!empty($_REQUEST['email'])){
$email = $_REQUEST['email'];
}
else
{
$email = NULL;
echo "<p>You forgot to fill in your E-mail!</p>";
}
//CHecking Gender
if(isset($_REQUEST['gender'])){
$gender = $_REQUEST['gender'];
}
if ($gender == 'M'){
$gender = "<p> Good day sir!</p>"
}
elseif ($gender == 'F'){
$gender = "<p> Good day Madam!</p>"
}
else
{
$gender = NULL;
echo "<p>You forgot to fill in your Gender!</p>";
}
if (!empty($_REQUEST['age'])){
$age = $_REQUEST['age'];
}
else
{
$age = NULL;
echo "<p>You forgot to fill in your Age!</p>";
}
if (!empty($_REQUEST['comments'])){
$comments = $_REQUEST['comments'];
}
else
{
$comments = NULL;
echo "<p>You forgot to fill in a comment!</p>";
}
if ($name && $email && $gender && $comments && $age){
echo "<p>Thank you, $name for your comment: </p><p>$comments</p><p>We will reply you on the following email: $email.</p><p>$gender</p>";
}
else
{
echo "<p>You didn't fully complete the form! Please go back!";
}
?>
</body>
</html>
Ik submit dus met een form op een andere pg die er zo uitziet:
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
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
<!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>Untitled Document</title>
</head>
<body>
<form action="handle_form.php" method="post">
<fieldset><legend>Enter your information</legend>
<p>Name:
<input type="text" name="name" />
</p>
<p>Email-Adress:
<input type="text" name="email" />
</p>
<p>Gender:
<input type="radio" name="gender" value="M" /> Male
<input type="radio" name="gender" value="F" /> Female
</p>
<p>Age:
<select name="age">
<option value="0-29">Under 30</option>
<option value="30-60">Between 30 and 60</option>
<option value="60+">Over 60</option>
</select>
</p>
<p>Comments: <textarea name="comments" cols="40" rows="3"></textarea></p>
</fieldset>
<div align="center">
<input name="submit" type="submit" value="Submit your info!" />
</div>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="handle_form.php" method="post">
<fieldset><legend>Enter your information</legend>
<p>Name:
<input type="text" name="name" />
</p>
<p>Email-Adress:
<input type="text" name="email" />
</p>
<p>Gender:
<input type="radio" name="gender" value="M" /> Male
<input type="radio" name="gender" value="F" /> Female
</p>
<p>Age:
<select name="age">
<option value="0-29">Under 30</option>
<option value="30-60">Between 30 and 60</option>
<option value="60+">Over 60</option>
</select>
</p>
<p>Comments: <textarea name="comments" cols="40" rows="3"></textarea></p>
</fieldset>
<div align="center">
<input name="submit" type="submit" value="Submit your info!" />
</div>
</form>
</body>
</html>
Ik krijg gewoon een witte pg inplaats van de variables geechood op de pg.
Jelle
Ik vermoed dat het ergens een ) vergeten of een ; teweinig is.
En waarom heb je deze regels als commentaar in je script staan? Haal die // maar eens weg, dan krijg je wellicht een nuttige foutmelding te zien...
@Blanche: Dat maakt debuggen lekker moeilijk, hoevaak moet ik je dat nog zeggen? ;)
gebruik $_GET/$_POST
2. en empty() gebruik je ook niet over $_POST/$_GET enz
3. ; vergeten op regel 38,42
overige:
strings kan je beter qouten met '' ipv "" met uitzondering van
- SQL statements
- \r \n \t echter als je deze nodig hebt kan je beter constante daarvoor definieren
overzichtelijk is je code ook niet
netter
pgFrank schreef op 28.12.2008 13:35:
Sorry, excuses. Even niet bij stil gestaan, zal het nooit meer zeggen :P@Blanche: Dat maakt debuggen lekker moeilijk, hoevaak moet ik je dat nog zeggen? ;)
Zoals ik al zij, ik ben een boek aan het volgen en dat gaat stap per stap, ik leer $_POST enzv pas later.
Ik zal die ; er zetten op regel 38 en 42.
EDIT: ^^Gelukt! Thx, Noppes.
Gewijzigd op 01/01/1970 01:00:00 door Jelle Sturm
Jelle schreef op 28.12.2008 13:57:
Ten eerste is het niet krijgen van foutmeldingen geen reden om die regels te deactiveren.Als ik die // weg doe krijg ik ook een witte pg... anders had ik ze wel gewoon laten staan hoor xD.
Verder zou ik de instellingen in mijn php.ini (als je daar bij kunt) nog maar eens nakijken. Om te beginnen met de display_errors instelling die natuurlijk wel ingeschakeld moet zijn om PHP foutmeldingen weer te laten geven.
Noppes schreef op 28.12.2008 13:36:
2. en empty() gebruik je ook niet over $_POST/$_GET enz
Dat snap ik niet?? Waarom zou je geen empty() daaroverheen mogen gebruiken?
Probeer eens error_reporting(E_ALL | E_STRICT). Dat wil vaak toch nog wel een error geven ;-).