Opsomming if / else.
Code (php)
1
2
3
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>');
}
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!
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if($_GET['ucat'] >= 3 && $_GET['ucat'] <= 6 && $is_logged_in == true)
{
// Doe je ding
}
?>
if($_GET['ucat'] >= 3 && $_GET['ucat'] <= 6 && $is_logged_in == true)
{
// Doe je ding
}
?>
Zoiets?
Code (php)
1
2
3
4
5
6
7
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');
}
{
$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!
En '05' schrijf je gewoon als 5
check de: &&
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)
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
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');
}
?>
$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');
}
?>
Noppes schreef op 23.02.2008 17:32:
Ja je hebt het niet volledig over genomen:
check de: &&
check de: &&
Ik zag het, heb 'm aangepast. Thnx!
Zelf Weten schreef op 23.02.2008 17:37:
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.Maar 05 is bij mij een andere pagina dan gewoon 5.
pgFrank schreef op 23.02.2008 17:39:
Zelf Weten schreef op 23.02.2008 17:37:
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.Maar 05 is bij mij een andere pagina dan gewoon 5.
Scherp. Wist ik niet. Weer wat geleerd. Maar ucat=5sub moet wel werken toch?
en variabele variabele heb je ook niet echt nodig...
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.?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
switch(true){
case (isset($_GET['l'] && $_GET['l'] == 5)) : include_once('blaat.php'); break;
}
?>
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...