|
| $_POST, eller? Fra : Troels |
Dato : 02-08-06 14:12 |
|
Hejsa,
Jeg har en startside, index.php, der som standard skal vise en startside i
en celle i en tabel.
Når jeg så klikker på et link skal siden det så smides ind i adresselinien,
som f.eks. index.php?side=test
Jeg kan fange det med $_GET['test']; , og så gøre resten med include, men
hvis jeg så bare går ind på index.php, får jeg fejlen "Notice: Undefined
index: side in c:\programmer\easyphp1-8\www\index.php on line 3
"
Der må være noget smartere end $_GET / $_POST, som kan returnere '', dvs.
intet, hvis der intet står, uden at melde fejl?
// Troels
| |
René Lønstrup (02-08-2006)
| Kommentar Fra : René Lønstrup |
Dato : 02-08-06 14:34 |
|
Troels wrote:
> Når jeg så klikker på et link skal siden det så smides ind i
> adresselinien, som f.eks. index.php?side=test
>
> Jeg kan fange det med $_GET['test'];
Du mener vel $_GET['side']?
> men hvis jeg så bare går ind på index.php, får jeg fejlen "Notice:
> Undefined index: side in c:\programmer\easyphp1-8\www\index.php on
> line 3 "
>
> Der må være noget smartere end $_GET / $_POST, som kan returnere '',
> dvs. intet, hvis der intet står, uden at melde fejl?
Du skal spørge om $_GET['side'] er sat før du bruger den. F.eks.:
if (isset($_GET['side']) && isValid($_GET['side'])) {
// hvor isValid() er en-eller-anden funktion til validering af inputtet
}
else {
// $_GET['side'] er ikke sat, eller ikke korrekt
}
--
Mvh René Lønstrup
web: http://rene.loenstrup.net?r=usenet
email: se om du kan regne den ud..
| |
Troels (02-08-2006)
| Kommentar Fra : Troels |
Dato : 02-08-06 18:22 |
|
> if (isset($_GET['side']) && isValid($_GET['side'])) {
> // hvor isValid() er en-eller-anden funktion til validering af inputtet
Min PHP kan ikke snakke isValid, åbenbart...
// Troels
| |
Martin (02-08-2006)
| Kommentar Fra : Martin |
Dato : 02-08-06 18:26 |
|
Troels wrote:
>> if (isset($_GET['side']) && isValid($_GET['side'])) {
>> // hvor isValid() er en-eller-anden funktion til validering af inputtet
>
> Min PHP kan ikke snakke isValid, åbenbart...
Nej, det er fordi du SELV skal lave funktionen :)
Den funne fx. se sådan her ud
function isValid($page) {
switch($page) {
case "index":
case "about":
case "links":
return true;
default:
return false;
}
}
>
> // Troels
>
>
| |
Troels (02-08-2006)
| Kommentar Fra : Troels |
Dato : 02-08-06 18:35 |
|
> Nej, det er fordi du SELV skal lave funktionen :)
Det kunne jeg have tænkt mig til, "Call to undefined function", beklager, nu
er jeg for dum... Sorry ;)
Al begyndelse er svær! :)
// Troels
| |
Jens E. (04-08-2006)
| Kommentar Fra : Jens E. |
Dato : 04-08-06 15:46 |
|
Troels wrote:
> Når jeg så klikker på et link skal siden det så smides ind i adresselinien,
> som f.eks. index.php?side=test
Hvad gør du videre med værdien af 'side'? Bliver den brugt direkte i
en SQL-sætning eller i en include?
--
Jens
| |
Troels (05-08-2006)
| Kommentar Fra : Troels |
Dato : 05-08-06 18:33 |
|
> Hvad gør du videre med værdien af 'side'? Bliver den brugt direkte i
> en SQL-sætning eller i en include?
Jeg har brugt en Iframe, hvor jeg så igennem php laver
Det tages så fra
page="
<?php
if ($side == "test") {
echo "test.php";
}
?>"
- det virker helt fint :)
Include kunne også bruges, men nu virker iframen så fint, og den begynder
ikke at strække tabeller, og scrollbars fungerer 100%
// Troels
| |
Jens E. (05-08-2006)
| Kommentar Fra : Jens E. |
Dato : 05-08-06 18:47 |
|
Troels wrote:
>> Hvad gør du videre med værdien af 'side'? Bliver den brugt direkte i
>> en SQL-sætning eller i en include?
>
> Jeg har brugt en Iframe, hvor jeg så igennem php laver
[snip]
> if ($side == "test") {
> echo "test.php";
> }
> ?>"
Prøv at kig på switch istedet for denne if-konstruktion.
http://dk2.php.net/switch
> Include kunne også bruges, men nu virker iframen så fint, og den begynder
> ikke at strække tabeller, og scrollbars fungerer 100%
Min pointe var bare at du åbnede op for et stort sikkerhedshul, hvis du
havde brugt værdien af "side" direkte i en SQL-query eller som i
nedenstående eksempel.
Usikker kode: <?php include($side); ?>
--
Jens
| |
Troels (06-08-2006)
| Kommentar Fra : Troels |
Dato : 06-08-06 21:58 |
|
> Min pointe var bare at du åbnede op for et stort sikkerhedshul, hvis du
> havde brugt værdien af "side" direkte i en SQL-query eller som i
> nedenstående eksempel.
>
> Usikker kode: <?php include($side); ?>
Tusinde tak for hjælpen :)
// Troels
| |
|
|