Help, ik snap niks van if geloof ik

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Mark

Mark

05/02/2009 16:18:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>'
;}
?>


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
 
PHP hulp

PHP hulp

21/11/2024 21:25:57
 
Robert Deiman

Robert Deiman

05/02/2009 16:34:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>'
;}
?>


Je moet elseif gebruiken, als die niet aan de eerste voorwaarde voldoet moet die pas kijken naar de 2e voorwaarde, anders niet.
 
Mark

Mark

05/02/2009 16:44:00
Quote Anchor link
O, kan iemand me eens uitleggen wanneer ik if elseif of else moet gebruiken?
 
Hugo Zonderland

Hugo Zonderland

05/02/2009 16:48:00
Quote Anchor link
elseif als er meerdere alternatieven zijn. else als er maar 1 alternatief mogelijk is.
 
Robert Deiman

Robert Deiman

05/02/2009 18:23:00
Quote Anchor link
Heel simpel:

if -> else
elseif -> anders als
else -> anders

Je krijgt dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
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.
 
Joakim Broden

Joakim Broden

05/02/2009 19:12:00
Quote Anchor link
miss kun je hier iets mee?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}


Dus alleen de eerste krijgt een if en de rest een elseif.

Of leg ik het nou allemaal verkeerd uit?
 
GaMer B

GaMer B

05/02/2009 19:25:00
Quote Anchor link
@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.
 
Mark

Mark

05/02/2009 21:40:00
Quote Anchor link
k snap het niet:
ik heb nu dit:
if
{}
elseif{
if{}
else{}
}
en dat pakt hij niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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?
 
Jeffrey

Jeffrey

05/02/2009 21:47:00
Quote Anchor link
Nested if's zijn zeker wel toegestaan hoor (if in if).

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
 
Mark

Mark

05/02/2009 21:54:00
Quote Anchor link
Ja, klopt opgelost! Ik dacht deze eigenlijk net opgelost te hebben, maar niet dus. Bedankt;)
 
Jesper Diovo

Jesper Diovo

05/02/2009 22:12:00
Quote Anchor link
Leer ook maar eens inspringen. Je code is absoluut onoverzichtelijk.
 
Mark

Mark

05/02/2009 22:23:00
Quote Anchor link
Ja, ik weet het, die van mij zijn altijd on overzichtelijk en werken altijd maar net...
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
 
Terence Hersbach

Terence Hersbach

05/02/2009 23:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
 
Jesper Diovo

Jesper Diovo

05/02/2009 23:14:00
Quote Anchor link
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 ;-).
 
Mark

Mark

06/02/2009 14:10:00
Quote Anchor link
een PHP Beautifier? Wijzigt dit niet je hele script waardoor het niet meer doet? of voegt hij alleen de tabs toe?

Ik gebruik nu PSPad die werkt ook met kleurtjes;) En bovendien wijzig ik alles gelijk via de ftp van PSPad;) en hij is gratis...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.