/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
hvad gør man hvis...
Fra : Henrik Koksby Hansen


Dato : 10-03-02 22:33

serveren ikke understøtter udefinerede variabler?

denne her
<?php
if ($id){
include "$id.php";
}
else {
include "forside.php";
}
?>

genererer fejlmeddelelsen:
Warning: Undefined variable: id in <sti> on line <nummer>

what to do, what to do? :)


VH
Henrik

 
 
Christian Schmidt (10-03-2002)
Kommentar
Fra : Christian Schmidt


Dato : 10-03-02 22:43

Henrik Koksby Hansen wrote:
>
> serveren ikke understøtter udefinerede variabler?
>
> denne her
> <?php
> if ($id){
> include "$id.php";
> }
> else {
> include "forside.php";
> }
> ?>
>
> genererer fejlmeddelelsen:
> Warning: Undefined variable: id in <sti> on line <nummer>
>
> what to do, what to do? :)

Enten bruger du funktionen isset()
<http://dk.php.net/manual/en/html/function.isset.html>, eller også
ændrer du på error_reporting
<http://dk.php.net/manual/en/html/features.error-handling.html>, enten i
php.ini, .htaccess eller direkte fra dit script.

Jeg vil anbefale dig at bruge isset(). Det kan fange mange fejl at køre
med error_reporting(E_ALL).


Christian

Ulrik Kold (10-03-2002)
Kommentar
Fra : Ulrik Kold


Dato : 10-03-02 22:45

Henrik Koksby Hansen wrote:
> serveren ikke understøtter udefinerede variabler?

*LOL* Mig bekendt er der ikke nogen servere, der understøtter
udefinerede variable. :) Dit problem bliver klaret længere nede i denne
mail.

> denne her
> <?php
> if ($id){
> include "$id.php";
> }
> else {
> include "forside.php";
> }
> ?>
>
> genererer fejlmeddelelsen:
> Warning: Undefined variable: id in <sti> on line <nummer>
>
> what to do, what to do? :)
> VH
> Henrik

Prøv med følgende:

<?php
if ($id){
include $id.".php";
}
else {
include "forside.php";
}
?>

Læg godt mærke til det flyttede citations-tegn og det tilføjede punktum.

Håber det hjalp.

..kold
--
Hi! I'm your friendly neighborhood signature virus. -|- www.ulrikkold.dk
Copy me to your signature file and help me spread! -|- mig@ulrikkold.dk


Martin Mouritzen (10-03-2002)
Kommentar
Fra : Martin Mouritzen


Dato : 10-03-02 22:51

After I finished the 3 Pan Galactic Gargle Blasters, Ulrik Kold
<kold@[NOSPAM]superbruger.dk> just offered me, he muttered some weird
stuff, and I had to correct this gibberish:

>*LOL* Mig bekendt er der ikke nogen servere, der understøtter
>udefinerede variable. :) Dit problem bliver klaret længere nede i denne
>mail.

Jo, det kommer an på serverindstillingerne, hvis du læser hans post
igen (og den fejlmeddelelse han får) kan det være det er tydeligere.
--
Nano Martin Mouritzen Phone +45 24899896
Vestergade 43 Programmer Advanced Simplicty
DK-8000 Århus martin@nano.dk http://www.nano.dk
Note: Nano søger samarbejdspartnere, se mere på websitet

Ulrik Kold (10-03-2002)
Kommentar
Fra : Ulrik Kold


Dato : 10-03-02 23:13

Martin Mouritzen wrote:
> After I finished the 3 Pan Galactic Gargle Blasters, Ulrik Kold
> <kold@[NOSPAM]superbruger.dk> just offered me, he muttered some weird
> stuff, and I had to correct this gibberish:
>
>
>>*LOL* Mig bekendt er der ikke nogen servere, der understøtter
>>udefinerede variable. :) Dit problem bliver klaret længere nede i denne
>>mail.
>
> Jo, det kommer an på serverindstillingerne, hvis du læser hans post
> igen (og den fejlmeddelelse han får) kan det være det er tydeligere.

Ok, jeg er så samtidig selv blevet klogere, da jeg lige tog et kig på de
link Chr. Schmidt postede. Jeg forsøgte da også selv at hjælpe ham med
at løse problemet. Undskyld, hvis jeg lød alt for hånlig, jeg synes bare
spørgsmålet blev stillet på en lidt morsom måde.

My mistake.

..kold, der bare gerne vil hjælpe.
--
Hi! I'm your friendly neighborhood signature virus. -|- www.ulrikkold.dk
Copy me to your signature file and help me spread! -|- mig@ulrikkold.dk


Mads Lie Jensen (10-03-2002)
Kommentar
Fra : Mads Lie Jensen


Dato : 10-03-02 23:49

On Sun, 10 Mar 2002 22:44:59 +0100, Ulrik Kold
<kold@[NOSPAM]superbruger.dk> wrote:

> <?php
> if ($id){
> include $id.".php";
> }
> else {
> include "forside.php";
> }
> ?>
>
>Læg godt mærke til det flyttede citations-tegn og det tilføjede punktum.

Det gør ingen forskel, inden i dobbel-quotes ("") bliver en variabel
udskriftet med dens indhold...

Så include($id.".php") og include("$id.php") er det samme.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Directory Opus - nu også til windows - http://www.gpsoft.com.au

Svenne Krap (11-03-2002)
Kommentar
Fra : Svenne Krap


Dato : 11-03-02 01:12

On 10 Mar 2002 13:33:04 -0800, kaptajnen@koksby.dk (Henrik Koksby
Hansen) wrote:

>serveren ikke understøtter udefinerede variabler?
>
>denne her
> <?php
> if ($id){
> include "$id.php";
> }
> else {
> include "forside.php";
> }
> ?>
>
>genererer fejlmeddelelsen:
>Warning: Undefined variable: id in <sti> on line <nummer>
>
>what to do, what to do? :)

ARGHHH.. sikkerhedsmæssigt stinker det helt vildt !

Hvis du absolut vil lave noget med dynamisk include, så sørg for de
mindste for at white-liste gyldige sider...

altså noget ala:

<?php
$whitelist=array("forside","links","uskyldigesider","whatever","nodanger");
if (!in_array($id,$whitelist)) {
   $id="forside";
}
include $id . ".php";
?>

Dermed sørger du for at ethvert dumt forsøg på at grabse nogle
forkerte filer slås brutalt i gulvet....
Ellers kan man jo lave noget ala :

http://server.dk/stil/til/fil.php?id=../../../../en-anden-webkunde/hemmeligt_bibliotek/evil_hacker_codes/leech_db_password.php


--
Job-offerings with more than a googolplex* USD a year are instantly accepted.
* = http://www.fpx.de/fp/Fun/Googolplex/

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste