<?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>';}
?>
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...
<?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>';}
?>
Je moet elseif gebruiken, als die niet aan de eerste voorwaarde voldoet moet die pas kijken naar de 2e voorwaarde, anders niet.
als(voorwaarde)
anders als (voorwaarde) //voorwaarde 1 is niet waar, probeer optie 2
anders als (voorwaarde) //voorwaarde 1 en 2 zijn niet waar, probeer optie 3
anders //voorwaarde 1,2 en 3 zijn niet waar. Toon deze optie.
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';
}
Dus alleen de eerste krijgt een if en de rest een elseif.
Of leg ik het nou allemaal verkeerd uit?
?
Onbekende gebruiker
05-02-2009 19:25
@Oetzie, nee, dat is goed uitgelegd.
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.
k snap het niet:
ik heb nu dit:
if
{}
elseif{
if{}
else{}
}
en dat pakt hij niet:
<?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?