webForumDet fria alternativet

Vad kan vara fel?

PHPur PHP

6 svar · 403 visningar · startad av carbon.nu

Medlem sedan feb. 2002107 inlägg
Frågan#1

Hejsan

Jag kör det här scriptet på en hemsida jag håller på att göra:

<?
if($pg=="") {
if($QUERY_STRING!="") {
$pg=strtok($QUERY_STRING, "&");
if(strchr($pg,"="))
$pg="front";
} else
$pg="front";
}
if(file_exists("$pg.inc.php")) {
include "$pg.inc.php";
}else {
echo "Sidan du sökte finns inte";
}
?>

och här finns hemsidan
http://www.pingstkyrkanarvika.nu/start.php?start

vad kan vara fel, själv har jag ingen aning

Medlem sedan aug. 2002101 inlägg
#2

Är det all php kod, för i såfall exeveras ju ingenting. $pg är ju inte med i någon querystring.

För övrigt kan jag rekomendera att ändra if($pg == "") till

if(!isset($pg)){

Isset = IS SET kollar om en variabel är definerad

Medlem sedan maj 2001178 inlägg
#3

och du har en fil som heter start.inc.php då antar jag?:OO

Medlem sedan feb. 2002107 inlägg
#4

japp, jag har en start.inc.php så klart, det funkar på andra servrar utom den här.

fundersam: det är allt som ska till, skriver man start.php?start i adressfältet så kommer start.php att ha start.inc.php i sig.

Vad kan va fel?

Medlem sedan aug. 2002101 inlägg
#5

Register_globals i php.ini?

Annars kan du ju använda $var = $_GET["VARIABEL"];

Medlem sedan feb. 2002107 inlägg
#6

Hejsan

Jag har skrivit:
<HTML>
<?php
if(phpversion() >= "4.2.0") {
//PHP 4.2.0 Patch
extract($HTTP_POST_VARS);
extract($HTTP_GET_VARS);
}
?>

i alla php filer, och jag har inga ini filer.

Men vad är Register_globals ???

Annars kan du ju använda $var = $_GET["VARIABEL"];

`????

Kan du förklara, jag förstår inte vad du menar?

Medlem sedan feb. 2002107 inlägg
#7

Nu har jag gjort det lite lättare att förstå problemet:

i start.php står förljande kod:

<HTML>

<?
if(phpversion() >= "4.2.0") {
        //PHP 4.2.0 Patch
        extract($HTTP_POST_VARS);
        extract($HTTP_GET_VARS);
}
?>

start.php

<?
if($pg=="") {
if($QUERY_STRING!="") {
$pg=strtok($QUERY_STRING, "&");
if(strchr($pg,"="))
$pg="front";
} else
$pg="front";
}
if(file_exists("$pg.inc.php")) {
include "$pg.inc.php";
}else {
echo "Sidan du sökte finns inte";
}
?>

</HTML>

och i start.inc.php står:

<?
if(phpversion() >= "4.2.0") {
        //PHP 4.2.0 Patch
        extract($HTTP_POST_VARS);
        extract($HTTP_GET_VARS);
}
?>

start.inc.php

och här hittar ni resultatet som ni ser är fel, vad beror det på??

http://www.carbon.nu/test/start.php?start

137 ms totalt · 3 externa anrop · v20260731065814-full.8a4e7caf
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)