Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] simpele if/else (https://forum.scholieren.com/showthread.php?t=1246248)

Dr HenDre 14-08-2005 14:12

[PHP] simpele if/else
 
Ok, het kan misschien aan mij liggen ik ben nu al 5 uur aan een stuk door aan t code, maar hoe kan dit in godsnaam :confused:
PHP-code:


        
if($ref_file != 'showadd.php');
        {
                
//handle->update_counter($id);
                
echo 'Updated';
        }
        elseif(
$ref_file == 'showadd.php');
        {
                echo 
"Boo";
        }
?> 

En allebei levert true op :confused: :confused:
Ik krijg als output
UpdatedBoo

Dr HenDre 14-08-2005 14:16

Laat maar ik zie t al na ong een uur turen :p, lekker stom (n) :D

fosje 14-08-2005 14:42

jah je moet niet zoveel ; gebruiken :)

0fd1ba6bef258b3 14-08-2005 14:56

Waarom niet gewoon:

PHP-code:

if ($ref_file == 'showadd.php')
{
    echo 
"fout";
}
else
{
    echo 
"goed";


Edit:

Trouwens als je kijkt naar het regelnummer dat bij de foutmelding gegeven wordt dan zie je precies waar het fout gaat. ;)

fosje 14-08-2005 16:15

maar aangezien er kwa syntax geen fouten in zitten zal deze code geen errors genereren.

Dr HenDre 14-08-2005 16:58

Citaat:

0fd1ba6bef258b3 schreef op 14-08-2005 @ 15:56 :
Waarom niet gewoon:

PHP-code:

if ($ref_file == 'showadd.php')
{
    echo 
"fout";
}
else
{
    echo 
"goed";


Edit:

Trouwens als je kijkt naar het regelnummer dat bij de foutmelding gegeven wordt dan zie je precies waar het fout gaat. ;)

Omdat er het volgende moet gebeuren: als de pagina waarvandaan je komt niet gelijk is aan showadd.php dan moet er een teller in mysql geupdate worden dmv $handle->update_counter($id);
Dit moet NIET gedaan worden als de pagina showadd.php is, omdat dat daar al gebeurt.
En omdat dit een toevoeging is, lijkt het de omgekeerde wereld, maar andres moest ik heel mn script omgooien, en daar had ik geen zin in.
Ik heb nu zoiets als
PHP-code:

if($ref_file != 'showadd.php')
{
   
$handle->update_counter($id);
}
//continue script 

Dat if/else had ik even tijdelijk gedaan voor mezelf omdat ik steeds true kreeg, en dus in mijn ogen toen zowel bij if als bij else true kreeg. Maar dat kwam dus door de 2 misplaatste ;'s

En ik kreeg geen error omdat er qua syntax niks fout is zoals fosje al zegt :)

Gimme more beer 14-08-2005 19:47

Maar if(); kan toch opzich ook? Alleen moet je dan met endif; werken. Dan zou hij in principe toch een foutmelding moeten geven?

Nigo 15-08-2005 04:44

Citaat:

Gimme more beer schreef op 14-08-2005 @ 20:47 :
Maar if(); kan toch opzich ook? Alleen moet je dan met endif; werken. Dan zou hij in principe toch een foutmelding moeten geven?
De parser kan op z'n bek gaan bij dergelijk if statements. Ik weet zo uit mijn hoofd wel dat de phpparser (v3) er veel moeite mee heeft dergelijke statements goed te interpreteren. Als je dergelijke if-else statements wil gebruiken dan dien je ipv een semilcolon een colon te gebruiken.

Code:

if(expressie):
    statement;
elseif(expressie):
    statement;
else:
    statement;
endif;

Persoonlijk hou ik het op braces ;)


Alle tijden zijn GMT +1. Het is nu 09:19.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.