Help, ik snap niks van if geloof ik
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php // Actie voor verbergen
if ($opdracht == "verberg"){
echo "verberg";
}
if ($opdracht == "bewerk"){
echo "bewerk";
}
if ($opdracht == "verwijder"){
echo "verwijder";
}
// --EINDE ACTIE VERBERGEN
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
else{
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
?>
if ($opdracht == "verberg"){
echo "verberg";
}
if ($opdracht == "bewerk"){
echo "bewerk";
}
if ($opdracht == "verwijder"){
echo "verwijder";
}
// --EINDE ACTIE VERBERGEN
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
else{
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
?>
Wat dit doet is moet doen is eerst kijken of opdracht verberg is, zo niet dan kijken of opdracht bewerk is, zo niet dan kijken of opdracht verwijder is, zo niet dan een fout melding geven. Maar hij maakt er dit van:
Kijken of het verberg is, zo ja verberg en foutmelding laten zien
Kijken of het bewerk is, zo ja bewerk en foutmelding laten zien
Kijken of het verwijder is, verwijder laten zien
Opdracht, is niks dan foutmelding laten zien...
Iemand die me hier mee kan helpen?
Mvg, Mark
Gewijzigd op 01/01/1970 01:00:00 door Mark
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php // Actie voor verbergen
if ($opdracht == "verberg"){
echo "verberg";
}
elseif ($opdracht == "bewerk"){
// $opdracht is niet gelijk aan 'verberg'
echo "bewerk";
}
elseif ($opdracht == "verwijder"){
// $opdracht is niet gelijk aan 'verberg' of 'bewerk'
echo "verwijder";
}
// --EINDE ACTIE VERBERGEN
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
else{
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
?>
if ($opdracht == "verberg"){
echo "verberg";
}
elseif ($opdracht == "bewerk"){
// $opdracht is niet gelijk aan 'verberg'
echo "bewerk";
}
elseif ($opdracht == "verwijder"){
// $opdracht is niet gelijk aan 'verberg' of 'bewerk'
echo "verwijder";
}
// --EINDE ACTIE VERBERGEN
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
else{
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
?>
Je moet elseif gebruiken, als die niet aan de eerste voorwaarde voldoet moet die pas kijken naar de 2e voorwaarde, anders niet.
O, kan iemand me eens uitleggen wanneer ik if elseif of else moet gebruiken?
elseif als er meerdere alternatieven zijn. else als er maar 1 alternatief mogelijk is.
if -> else
elseif -> anders als
else -> anders
Je krijgt dus:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
if($pag == 1) {
echo 'Dit krijg je als $pag 1 is';
}elseif($pag == 2) {
echo 'Dit krijg je als $pag 2 is';
}else{
echo 'Dit krijg je als $pag anders is als 1 of 2';
}
echo 'Dit krijg je als $pag 1 is';
}elseif($pag == 2) {
echo 'Dit krijg je als $pag 2 is';
}else{
echo 'Dit krijg je als $pag anders is als 1 of 2';
}
Dus alleen de eerste krijgt een if en de rest een elseif.
Of leg ik het nou allemaal verkeerd uit?
Eigelijk moet je een if-elseif-else constructie zien als één blok, waarvan er maar één wordt uitgevoerd.
Bij losse if's kunnen meerdere condities TRUE zijn.
ik heb nu dit:
if
{}
elseif{
if{}
else{}
}
en dat pakt hij 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
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
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
<?php
include('../safe_admin.php');
include('../begin.php');
echo '<br><h3>Voorpagina jeugd wijzigen</h3><br>
<br><h4>Wat op het moment de voorpagina is:</h4>';
$opdracht = $_GET['opdracht'];
// Kijk of id gevult is
if (isset($_GET['id']) && trim($_GET['id']) != '') {
// Actie voor verbergen
if ($opdracht == "verberg"){
echo "verberg";
}
// EINDE ACTIE VERBERG
// Begin actie bewerk
elseif ($opdracht == "bewerk"){
echo "bewerk";
}
// EINDE ACTIE BEWERK
// Begin actie verwijder
elseif ($opdracht == "verwijder"){
$id = $_GET['id'];
$sql = "
DELETE FROM
jeugdvoorpagina
WHERE
id = ' . $id . '
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_affected_rows() == 0)
{
echo 'Geen records verwijderd. <br />Query: '.$sql;
}
else
{
echo 'Er zijn '.mysql_affected_rows().' records verwijderd uit de database.';
}
// --EINDE ACTIE VERWIJDER
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
}
else{
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
// --EINDE ID GEVULT--
// --zo niet dan gewoon een overzicht plaatsen--
else {
$sql = "SELECT * FROM jeugdvoorpagina";
$result = mysql_query ($sql);
if($result)
{
while ($array = mysql_fetch_array($result))
{
echo '<div style="float: right;">
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verberg&id=' . $array['id'] . '">Verbergen</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=bewerk&id=' . $array['id'] . '">Bewerk</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verwijder&id=' . $array['id'] . '">Verwijder</a>
</div>
<h1><b> ' . $array['titel'] . '</b></h1>' . $array['tekst'];
}
}
else
{
echo 'Error: ' . mysql_error();
}
}
// --EINDE OVERZICHT
include('../eind.php');
?>
include('../safe_admin.php');
include('../begin.php');
echo '<br><h3>Voorpagina jeugd wijzigen</h3><br>
<br><h4>Wat op het moment de voorpagina is:</h4>';
$opdracht = $_GET['opdracht'];
// Kijk of id gevult is
if (isset($_GET['id']) && trim($_GET['id']) != '') {
// Actie voor verbergen
if ($opdracht == "verberg"){
echo "verberg";
}
// EINDE ACTIE VERBERG
// Begin actie bewerk
elseif ($opdracht == "bewerk"){
echo "bewerk";
}
// EINDE ACTIE BEWERK
// Begin actie verwijder
elseif ($opdracht == "verwijder"){
$id = $_GET['id'];
$sql = "
DELETE FROM
jeugdvoorpagina
WHERE
id = ' . $id . '
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_affected_rows() == 0)
{
echo 'Geen records verwijderd. <br />Query: '.$sql;
}
else
{
echo 'Er zijn '.mysql_affected_rows().' records verwijderd uit de database.';
}
// --EINDE ACTIE VERWIJDER
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
}
else{
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
// --EINDE ID GEVULT--
// --zo niet dan gewoon een overzicht plaatsen--
else {
$sql = "SELECT * FROM jeugdvoorpagina";
$result = mysql_query ($sql);
if($result)
{
while ($array = mysql_fetch_array($result))
{
echo '<div style="float: right;">
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verberg&id=' . $array['id'] . '">Verbergen</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=bewerk&id=' . $array['id'] . '">Bewerk</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verwijder&id=' . $array['id'] . '">Verwijder</a>
</div>
<h1><b> ' . $array['titel'] . '</b></h1>' . $array['tekst'];
}
}
else
{
echo 'Error: ' . mysql_error();
}
}
// --EINDE OVERZICHT
include('../eind.php');
?>
Geeft deze foutmelding:
Parse error: syntax error, unexpected T_ELSE in /home/markvdli/domains/markvdlinden.nl/public_html/puntnl/login/jeugd/voorpagina.php on line 51
Wat doe ik nu weer verkeerd, kan geen if in if? Zo nee hoe zou ik dit wle kunnen oplossen dan?
Het probleem is alleen dat je de if van regel 10 nog niet afgesloten hebt, waardoor hij de else op regel 52 niet verwacht.
Maak van regel 52 } else { en kijk wat hij dan doet.
Gewijzigd op 01/01/1970 01:00:00 door Jeffrey
Ja, klopt opgelost! Ik dacht deze eigenlijk net opgelost te hebben, maar niet dus. Bedankt;)
Leer ook maar eens inspringen. Je code is absoluut onoverzichtelijk.
Ik krijg nooit een echt goed script, iemand een tip hoe ik dit bv overzichtelijk kan krijgen?
Ik knip dit straks in 4 bestanden denk, overzicht, verberg, bewerk en verwijder.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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
<?php
include('../safe_admin.php');
include('../begin.php');
echo '<br><h3>Voorpagina jeugd wijzigen</h3><br>
<br><h4>Wat op het moment de voorpagina is:</h4>';
$opdracht = $_GET['opdracht'];
// Kijk of id gevult is
if (isset($_GET['id']) && trim($_GET['id']) != '') {
// Actie voor verbergen
if ($opdracht == "verberg"){
echo "verberg";
// EINDE ACTIE VERBERG
// Begin actie bewerk
} elseif ($opdracht == "bewerk") {
echo "bewerk";
// EINDE ACTIE BEWERK
// Begin actie verwijder
} elseif ($opdracht == "verwijder") {
$id = $_GET['id'];
$sql = "
DELETE FROM
jeugdvoorpagina
WHERE
id = ' . $id . '
";
if(!$res = mysql_query($sql))
trigger_error(mysql_error().'<br />In query: '.$sql);
elseif(mysql_affected_rows() == 0)
echo 'Geen records verwijderd. <br />Query: '.$sql;
else
echo 'Er zijn '.mysql_affected_rows().' records verwijderd uit de database.';
// --EINDE ACTIE VERWIJDER
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
} else {
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
// --EINDE ID GEVULT--
// --zo niet dan gewoon een overzicht plaatsen--
} else {
$sql = "SELECT * FROM jeugdvoorpagina";
$result = mysql_query ($sql);
if ($result) {
while ($array = mysql_fetch_array($result)) {
echo '<div style="float: right;">
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verberg&id=' . $array['id'] . '">Verbergen</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=bewerk&id=' . $array['id'] . '">Bewerk</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verwijder&id=' . $array['id'] . '">Verwijder</a>
</div>
<h1><b> ' . $array['titel'] . '</b></h1>' . $array['tekst'];
}
} else {
echo 'Error: ' . mysql_error();
}
}
// --EINDE OVERZICHT
include('../eind.php');
?>
include('../safe_admin.php');
include('../begin.php');
echo '<br><h3>Voorpagina jeugd wijzigen</h3><br>
<br><h4>Wat op het moment de voorpagina is:</h4>';
$opdracht = $_GET['opdracht'];
// Kijk of id gevult is
if (isset($_GET['id']) && trim($_GET['id']) != '') {
// Actie voor verbergen
if ($opdracht == "verberg"){
echo "verberg";
// EINDE ACTIE VERBERG
// Begin actie bewerk
} elseif ($opdracht == "bewerk") {
echo "bewerk";
// EINDE ACTIE BEWERK
// Begin actie verwijder
} elseif ($opdracht == "verwijder") {
$id = $_GET['id'];
$sql = "
DELETE FROM
jeugdvoorpagina
WHERE
id = ' . $id . '
";
if(!$res = mysql_query($sql))
trigger_error(mysql_error().'<br />In query: '.$sql);
elseif(mysql_affected_rows() == 0)
echo 'Geen records verwijderd. <br />Query: '.$sql;
else
echo 'Er zijn '.mysql_affected_rows().' records verwijderd uit de database.';
// --EINDE ACTIE VERWIJDER
// Als opdracht leeg is of niet bestaat of er is een foute opdracht opgegeven, dan deze foutmelding geven:
} else {
echo 'Er is helaas iets fout gegaan, als deze fout zich vaker voor doet, neemt u dan aub contact op met <a href="mailto:[email protected]">Mark vd Linden</a>!
<br><a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php">Klik hier om verder te gaan<a>';}
// --EINDE ID GEVULT--
// --zo niet dan gewoon een overzicht plaatsen--
} else {
$sql = "SELECT * FROM jeugdvoorpagina";
$result = mysql_query ($sql);
if ($result) {
while ($array = mysql_fetch_array($result)) {
echo '<div style="float: right;">
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verberg&id=' . $array['id'] . '">Verbergen</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=bewerk&id=' . $array['id'] . '">Bewerk</a> |
<a href="http://puntnl.markvdlinden.nl/login/jeugd/voorpagina.php?opdracht=verwijder&id=' . $array['id'] . '">Verwijder</a>
</div>
<h1><b> ' . $array['titel'] . '</b></h1>' . $array['tekst'];
}
} else {
echo 'Error: ' . mysql_error();
}
}
// --EINDE OVERZICHT
include('../eind.php');
?>
na elke { een tab inspringen
net voordat elke } een tab terug springen
Gebruik een goede editor (ik raad je phpDesigner 2008 aan). Een editor waar kleurtjes duidelijk zichtbaar zijn, en waar je - als je bij een { of } gaat staan - aangegeven wordt bij welk tegenovergesteld teken ({ of }) hij hoort. Bovendien zit in phpDesigner2008 de 'PHP Beautifier', 1 klik en heel je php script is prachtig overzichtelijk ;-).
Ik gebruik nu PSPad die werkt ook met kleurtjes;) En bovendien wijzig ik alles gelijk via de ftp van PSPad;) en hij is gratis...