Oefening cursus php
Ter duidelijkheid ik ben een totale leek met PHP. Ik volg een cursus en daarin staan ook oefeningen.
De onderstaande oefening gaat over een switch-opdracht.
Code gaat als volgt;
Code (php)
Dit is exact wat er beschreven staat als code in de oefening, en krijg volgende melding in DW live-view;
Notice: Undefined variable: appel in C:\xampp\htdocs\php_oefening2\upperlowertest.php on line 14
De variabele is toch ingesteld, raak hier niet wijs uit.
Waarschijnlijk is dit heel eenvoudig op te lossen maar kan iemand me hiermee helpen?
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 25/12/2013 12:37:44 door Bas IJzelendoorn
$appel op regel 12 moet $fruit zijn:
Je zou $fruit moten gebruiken in je switch.
Ook staan de cases in de cursus aangegeven tussen () ipv. {}. Maakt dit een verschil?
Want als ik deze zelfde code opgeef zoals in de cursus met () dan werkt de code niet?
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
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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>
<body>
<?php
$brd = array("land1" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
array("land2" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
array("land3" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
array("land4" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
?>
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<td><strong>Land</strong></td>
<td><strong>Stad</strong></td>
<td><strong>Bezienswaardigheid</strong></td>
</tr>
<?php
foreach ($brd as $weergave)
{
list($land, $stad, $bezienswaardigheid) = array_values($weergave);
echo "<tr><td>" . $land . "</td>";
echo "<td>" . $stad . "</td>";
echo "<td>" . $bezienswaardigheid . "</td></tr>";
}
?>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>
<body>
<?php
$brd = array("land1" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
array("land2" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
array("land3" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
array("land4" => array("Land" =>"",
"Stad" => "","Bezienswaardigheid" => ""));
?>
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<td><strong>Land</strong></td>
<td><strong>Stad</strong></td>
<td><strong>Bezienswaardigheid</strong></td>
</tr>
<?php
foreach ($brd as $weergave)
{
list($land, $stad, $bezienswaardigheid) = array_values($weergave);
echo "<tr><td>" . $land . "</td>";
echo "<td>" . $stad . "</td>";
echo "<td>" . $bezienswaardigheid . "</td></tr>";
}
?>
</body>
</html>
Gewijzigd op 25/12/2013 22:33:23 door arno sp
Wat is je vraag?
Krijg bij deze code de info niet in de tabel geplaatst.
Er klopt niks van je array. En je hebt ook geen gegevens ingevuld.
Code (php)
Probeer dit eens en kijk of het werkt. Je kunt meerdere landen toevoegen door komma's te gebruiken.
Mag ik vragen wat voor cursus je volgt?
Dan zal bovenstaande code als volgt juist zijn:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$brd = array("land1" => array('land' =>'Saksen','stad'
=>'Dresden','bezienswaardigheid' =>
'Zwinger-monument'), "land2" => array('...'));
?>
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<td><strong>Land</strong></td>
<td><strong>Stad</strong></td>
<td><strong>Bezienswaardigheid</strong></td>
</tr>
<?php
foreach ($brd as $weergave)
{
list($land, $stad, $bezienswaardigheid) = array_values($weergave);
echo "<tr><td>" . $land . "</td>";
echo "<td>" . $stad . "</td>";
echo "<td>" . $bezienswaardigheid . "</td></tr>";
}
?>
</table>
$brd = array("land1" => array('land' =>'Saksen','stad'
=>'Dresden','bezienswaardigheid' =>
'Zwinger-monument'), "land2" => array('...'));
?>
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<td><strong>Land</strong></td>
<td><strong>Stad</strong></td>
<td><strong>Bezienswaardigheid</strong></td>
</tr>
<?php
foreach ($brd as $weergave)
{
list($land, $stad, $bezienswaardigheid) = array_values($weergave);
echo "<tr><td>" . $land . "</td>";
echo "<td>" . $stad . "</td>";
echo "<td>" . $bezienswaardigheid . "</td></tr>";
}
?>
</table>
dan krijg ik alleen op deze regel nog een fout: undefined offset 1 en 2
Gewijzigd op 26/12/2013 00:19:49 door arno sp
"land2" => array('...')
Daar moet je dus weer gegevens inzetten zoals bij land 1.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$brd[] = array('land'=>'Saksen','stad'=>'Dresden','bezienswaardigheid'=>'Zwinger-monument');
$brd[] = array('land'=>'Nederland','stad'=>'Utrecht','bezienswaardigheid'=>'Dom');
?>
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<td><strong>Land</strong></td>
<td><strong>Stad</strong></td>
<td><strong>Bezienswaardigheid</strong></td>
</tr>
<?php
foreach ($brd as $weergave)
{
echo "<tr><td>" . $weergave['land'] . "</td>";
echo "<td>" . $weergave['stad'] . "</td>";
echo "<td>" . $weergave['bezienswaardigheid'] . "</td></tr>";
}
?>
</table>
$brd[] = array('land'=>'Saksen','stad'=>'Dresden','bezienswaardigheid'=>'Zwinger-monument');
$brd[] = array('land'=>'Nederland','stad'=>'Utrecht','bezienswaardigheid'=>'Dom');
?>
<table cellpadding="2" cellspacing="2" border="1">
<tr>
<td><strong>Land</strong></td>
<td><strong>Stad</strong></td>
<td><strong>Bezienswaardigheid</strong></td>
</tr>
<?php
foreach ($brd as $weergave)
{
echo "<tr><td>" . $weergave['land'] . "</td>";
echo "<td>" . $weergave['stad'] . "</td>";
echo "<td>" . $weergave['bezienswaardigheid'] . "</td></tr>";
}
?>
</table>
hierna de code voor het formulier:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www/w3.org/TR/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
<link href="file:///C|/Users/ARSP/Documents/oefeningen dw/formulierphp.css" rel="stylesheet" type="text/css" />
</head>
</div>
<body>
<div id="formulier">
<form action="sendmail.php" method="post" name ="Feedback" target="self">
<fieldset>
<legend>Geef ons uw feedback</legend>
<p>Naam <input name="naam" type="text" size="10" maxlength="60" /></p>
<p>Email <input email="email" type="email" size="16" maxlength="60" /></p>
<p>Boodschap <textarea name="boodschap" type="text" cols="20" rows="3" size="16" maxlength="60"></textarea></p>
</fieldset>
<p><input name="Versturen" type="submit" value="Versturen"/>
</body>
</html>
"http://www/w3.org/TR/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
<link href="file:///C|/Users/ARSP/Documents/oefeningen dw/formulierphp.css" rel="stylesheet" type="text/css" />
</head>
</div>
<body>
<div id="formulier">
<form action="sendmail.php" method="post" name ="Feedback" target="self">
<fieldset>
<legend>Geef ons uw feedback</legend>
<p>Naam <input name="naam" type="text" size="10" maxlength="60" /></p>
<p>Email <input email="email" type="email" size="16" maxlength="60" /></p>
<p>Boodschap <textarea name="boodschap" type="text" cols="20" rows="3" size="16" maxlength="60"></textarea></p>
</fieldset>
<p><input name="Versturen" type="submit" value="Versturen"/>
</body>
</html>
en gebruik voor de verzending volgende PHP
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
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
<?php
//toewijzing variabelen
$naam = $_POST['name'];
$email = $_POST['email'];
$boodschap = $_POST['boodschap'];
$to = '[email protected]';
$betreft = 'Feedback klanten website';
$fromadress = 'from:[email protected]';
$mbody = 'klantnaam' . $naam . "/n";
$mbody = $mbody . 'email' . $email . "/n";
$mbody = $mbody . 'boodschap' . $boodschap . "/n";
mail($to,$betreft,$fromadress);
?>
<!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>
<title>Feedback Form</title>
</head>
<body>
<p>Uw bericht werd aan ons doorgestuurd. Veel dank voor uw feedback.</p>
<p>Uw bericht:</p>
<table>
<tr>
<td width="200"></td>
<td width="450"></td>
</tr>
<tr>
<td>Naam:</td>
<td <?php echo $naam; ?></td>
</tr>
<tr>
<td>Email:</td>
<td <?php echo $email; ?></td>
</tr>
<tr>
<td>Boodschap:</td>
<td <?php echo $boodschap; ?></td>
</tr>
</table>
</body>
</html>
//toewijzing variabelen
$naam = $_POST['name'];
$email = $_POST['email'];
$boodschap = $_POST['boodschap'];
$to = '[email protected]';
$betreft = 'Feedback klanten website';
$fromadress = 'from:[email protected]';
$mbody = 'klantnaam' . $naam . "/n";
$mbody = $mbody . 'email' . $email . "/n";
$mbody = $mbody . 'boodschap' . $boodschap . "/n";
mail($to,$betreft,$fromadress);
?>
<!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>
<title>Feedback Form</title>
</head>
<body>
<p>Uw bericht werd aan ons doorgestuurd. Veel dank voor uw feedback.</p>
<p>Uw bericht:</p>
<table>
<tr>
<td width="200"></td>
<td width="450"></td>
</tr>
<tr>
<td>Naam:</td>
<td <?php echo $naam; ?></td>
</tr>
<tr>
<td>Email:</td>
<td <?php echo $email; ?></td>
</tr>
<tr>
<td>Boodschap:</td>
<td <?php echo $boodschap; ?></td>
</tr>
</table>
</body>
</html>
Maar wanneer ik dit preview in de browser krijg ik geen interactie of weergave van het php script?
Toevoeging op 29/12/2013 14:20:54:
Krijg dan volgend bericht bij preview:
Notice: Undefined index: name in C:\xampp\htdocs\feedbackantwoord\antwoordfeed.php on line 3
Notice: Undefined index: email in C:\xampp\htdocs\feedbackantwoord\antwoordfeed.php on line 4
Uw bericht werd aan ons doorgestuurd. Veel dank voor uw feedback.
Uw bericht:
Naam:
Email:
Boodschap:
Gewijzigd op 29/12/2013 14:04:54 door arno sp
Gewijzigd op 29/12/2013 14:25:04 door Albert de Wit
Je stuurt nu $fromadress als zijnde de inhoud van je mailtje.