switch error
ik ben bezig aan een projectje maar loop vast
op het feit dat ik een formulier wil laten opslaan
maar de link naar de juiste pagina wil maar niet lukken.
Ik maak gebruik van een switch om telkens de juiste pagina
in de index.php te laden.
de submit button heeft als link:
/index.php?page=oe_new_insert
en de switch is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
switch (strtolower($_GET['page']))
{
/*Notifications switches*/
/*Operational Event*/
/*index*/
case "index":
$page="intro.php";
/*new*/
case "oe_new":
$page="notification/oe_new.php";
break;
case "oe_new insert":
$page="notification/oe_new_insert.php";
break;
/*404*/
default:
$page="intro.php";
break;
}
include ($page);
?>
switch (strtolower($_GET['page']))
{
/*Notifications switches*/
/*Operational Event*/
/*index*/
case "index":
$page="intro.php";
/*new*/
case "oe_new":
$page="notification/oe_new.php";
break;
case "oe_new insert":
$page="notification/oe_new_insert.php";
break;
/*404*/
default:
$page="intro.php";
break;
}
include ($page);
?>
De pagina bestaat wel degelijk dus dat is geen foutje :-)
is er iemand die en idee heeft wat er fout kan zijn?
thanks alvast,
Y.
wat lukt er niet? krijg je ook errors?
Edit:
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
29
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
<?php
if(!isset($_GET['page'])) {
echo"Hacking attempt";
exit;
}else{
$getname = strtolower($_GET['page']);
}
switch($getname) {
case "index":
$page="intro.php";
break;
case "oe_new":
$page="notification/oe_new.php";
break;
case "oe_new_insert":
$page="notification/oe_new_insert.php";
break;
default:
$page="intro.php";
break;
}
include $page;
?>
if(!isset($_GET['page'])) {
echo"Hacking attempt";
exit;
}else{
$getname = strtolower($_GET['page']);
}
switch($getname) {
case "index":
$page="intro.php";
break;
case "oe_new":
$page="notification/oe_new.php";
break;
case "oe_new_insert":
$page="notification/oe_new_insert.php";
break;
default:
$page="intro.php";
break;
}
include $page;
?>
en dit klopt niet :case "oe_new insert":
je vergeet een _
edit al veranderd..
Gewijzigd op 19/03/2011 10:10:13 door Robert dat ben ik
van naar de correcte.
Maar in de www-balk zet hij dan wel de juiste pagina...
Het moet ergens iets te maken hebben met het feit dat ik van een formulier
vertrek, want bij de gewone navigatie is er geen enkel probleem
met de switches.
kijk goed naar de link die je doet en kijk vervolgens naar je witsh case zijn niet gelijk met elkaar.
edit:
jij vraag je link zo op/index.php?page=oe_new_insert
en je case is dit: "oe_new insert":
ik mis toch echt een _ :)
Gewijzigd op 19/03/2011 09:29:19 door Robert dat ben ik
MaDHouSe xxxx op 19/03/2011 08:47:03:
Wtf zit jij nu weer voor onzin te praten? In principe mag hij gewoon doen wat hij doet. Include is een language construct.
Een variabele per definitie via een string is ook onzin, waarom zou die variabele nog in een string moeten zitten? Het is al een variabele.
MaDHouSe xxxx op 19/03/2011 08:47:03:
Edit:
en dit klopt niet :case "oe_new insert":
je vergeet een _
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
29
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
<?php
if(!isset($_GET['page'])) {
echo"Hacking attempt";
exit;
}else{
$getname = strtolower($_GET['page']);
}
switch($getname) {
case "index":
$page="intro.php";
break;
case "oe_new":
$page="notification/oe_new.php";
break;
case "oe_new_insert":
$page="notification/oe_new_insert.php";
break;
default:
$page="intro.php";
break;
}
include "$page";
?>
if(!isset($_GET['page'])) {
echo"Hacking attempt";
exit;
}else{
$getname = strtolower($_GET['page']);
}
switch($getname) {
case "index":
$page="intro.php";
break;
case "oe_new":
$page="notification/oe_new.php";
break;
case "oe_new_insert":
$page="notification/oe_new_insert.php";
break;
default:
$page="intro.php";
break;
}
include "$page";
?>
en dit klopt niet :case "oe_new insert":
je vergeet een _
Qua die underscore heb je gelijk, die mist volgens mij ook. Maar dat als de get waarde niet aanwezig is dat, dat dan direct een hack poging is, dat lijkt mij niet. Gewoon eerst een check met isset is voldoende. Als die niet bestaat default ofzo erin dumpen.
Yannick Bogaert op 19/03/2011 09:12:30:
@ Vincent: geen error hij gaat gewoon naar de default pagina in plaats
van naar de correcte.
Maar in de www-balk zet hij dan wel de juiste pagina...
Het moet ergens iets te maken hebben met het feit dat ik van een formulier
vertrek, want bij de gewone navigatie is er geen enkel probleem
met de switches.
van naar de correcte.
Maar in de www-balk zet hij dan wel de juiste pagina...
Het moet ergens iets te maken hebben met het feit dat ik van een formulier
vertrek, want bij de gewone navigatie is er geen enkel probleem
met de switches.
Doe eens var_dump($_GET); zie wat je eruit krijgt.
MaDHouSe xxxx op 19/03/2011 08:47:03:
Wil je graag alleen maar wat zeggen als je weet wat je doet? Dit klopt namelijk totaal niet, variabele horen niet in quotes thuis.
Thanks alvast voor de hulp!
hoef je niet gelijk zo uit te vallen...
Gewijzigd op 19/03/2011 11:22:03 door Jordi Kroon