Opsomming if / else.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zelf Weten

Zelf Weten

23/02/2008 17:17:00
Quote Anchor link
Ik heb de volgende stuk code.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if($_GET['ucat'] == '3' and $is_logged_in or $_GET['ucat'] == '4' and $is_logged_in or $_GET['ucat'] == '5' and $is_logged_in or $_GET['ucat'] == '6' and $is_logged_in) {
    echo ('<div class="nieuwe_post"><a target="_blank" href="admin/index.php?mod=addnews&action=addnews&category='.$nummer.'"><img border="0px" src="images/nieuwe_post.gif"></a></div>');
}


Hoe zorg ik ervoor dat ik in 1 regel ditzelfde zeg? Kortom, compacter.
Dus, als ucat = gelijk aan 3 of 4 of 5 of 6, kortom: tussen 3 en 6 AND $is_logged_in. Nu moet ik het namelijk apart per stukje doen en vind het er lelijk uit zien.

Dank!
 
PHP hulp

PHP hulp

17/10/2021 14:29:23
 
Joren de Wit

Joren de Wit

23/02/2008 17:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($_GET['ucat'] >= 3 && $_GET['ucat'] <= 6 && $is_logged_in == true)
{

    // Doe je ding
}
?>

Zoiets?
 
Zelf Weten

Zelf Weten

23/02/2008 17:28:00
Quote Anchor link
Ja topshit, dat werkt! Maar hoe doe ik dit dan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if(isset($_GET['ucat']) && $_GET['ucat'] >= 1 $_GET['ucat'] <= 8)
        {
            $template = $template_id; $category = $category_id; include('admin/show_news.php');
        }
        elseif($_GET['ucat'] == '05'){
            include('fotos.php');
        }


Ik wil dus dat de eerste IF regel alleen wordt toegepast zodra ucat tussen de 1 of 8 zet. Bij ucate=05 moet hij dus niet admin/show_news.php includen maar fotos.php. Ik heb geprobeerd je oplossing erin te stoppen, maar voel dat ik iets verkeerd doe met de slashes en aanhalingstekens.

Dank!
 
- SanThe -

- SanThe -

23/02/2008 17:31:00
Quote Anchor link
if(isset($_GET['ucat']) && $_GET['ucat'] >= 1 && $_GET['ucat'] <= 8 && $_GET['ucat'] != 5 )

En '05' schrijf je gewoon als 5
 
Noppes

Noppes

23/02/2008 17:32:00
Quote Anchor link
Ja je hebt het niet volledig over genomen:
check de: &&
 
Zelf Weten

Zelf Weten

23/02/2008 17:37:00
Quote Anchor link
Maar 05 is bij mij een andere pagina dan gewoon 5.

Kortom, 1 t/m 8 hebben die include functie nodig. Maar zodra het ucat=05 is moet hij een andere pagina, namelijk fotos.php includen. Hier staat even mijn script stukje zover.

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
<?php
$nummer
    = $_GET['ucat'];
$template_id = ${'menu_id_' . $nummer . '_temp'};
$category_id = ${'menu_id_' . $nummer . '_cat'};

if($_GET['ucat'] >= 3 && $_GET['ucat'] <= 6 && $is_logged_in)
{

    echo ('<div class="nieuwe_post"><a target="_blank" href="admin/index.php?mod=addnews&action=addnews&category='.$nummer.'"><img border="0px" src="images/nieuwe_post.gif"></a></div>');
}



if(isset($_GET['ucat']) && $_GET['ucat'] >= 1 && $_GET['ucat'] <= 9)
        {

            $template = $template_id; $category = $category_id; include('admin/show_news.php');
        }

        elseif($_GET['ucat'] == '05'){
            include('fotos.php');
        }

        elseif($_GET['portal'] == 'login'){
            include('admin/loginbox.php');
        }

        elseif($_GET['action'] == 'logout'){
            include('admin/loginbox.php');
        }

        else {
            $template = $menu_id_1_temp; $category = $menu_id_1_cat; include('admin/show_news.php');
        }
        
?>
 
Zelf Weten

Zelf Weten

23/02/2008 17:37:00
Quote Anchor link
Noppes schreef op 23.02.2008 17:32:
Ja je hebt het niet volledig over genomen:
check de: &&


Ik zag het, heb 'm aangepast. Thnx!
 
Frank -

Frank -

23/02/2008 17:39:00
Quote Anchor link
Zelf Weten schreef op 23.02.2008 17:37:
Maar 05 is bij mij een andere pagina dan gewoon 5.
Dat is niet handig, dat is zelfs onlogisch. Een 0 heeft geen waarde, ken er dan ook geen waarde aan toe. 05, 5 of 00005 is allemaal gelijk aan vijf.
 
Zelf Weten

Zelf Weten

23/02/2008 17:42:00
Quote Anchor link
pgFrank schreef op 23.02.2008 17:39:
Zelf Weten schreef op 23.02.2008 17:37:
Maar 05 is bij mij een andere pagina dan gewoon 5.
Dat is niet handig, dat is zelfs onlogisch. Een 0 heeft geen waarde, ken er dan ook geen waarde aan toe. 05, 5 of 00005 is allemaal gelijk aan vijf.

Scherp. Wist ik niet. Weer wat geleerd. Maar ucat=5sub moet wel werken toch?
 
Lode

Lode

23/02/2008 17:45:00
Quote Anchor link
kan je toch net zo goed een switch voor nemen?
en variabele variabele heb je ook niet echt nodig...
 
Zelf Weten

Zelf Weten

23/02/2008 17:50:00
Quote Anchor link
@Lode
True, maar hoe zit mijn switch met beperkte variabelen eruit? Zie hierboven, 1 t/m 9 moet A doen en B moet B doen C moet C doen, etc.?
 
Lode

Lode

23/02/2008 18:10:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
switch(true){
   case (
isset($_GET['l'] && $_GET['l'] == 5)) : include_once('blaat.php');  break;
}

?>


en dan zou ik het e.e.a voor de switch defineren en controleren...
 



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.