/ 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
Script virker med PHP 4.2.2 men ikke med 4~
Fra : Peter Anskjær


Dato : 23-04-04 17:37

Hej NG
Jeg har et problem jeg ikke kan gemmeskue, jeg har denne her stump kode:
<?php
$page = str_replace('..', '', $page);
if(!$page || $page == "banner" || $page == "menu"){
$page1 = "forside.html";
}
else{
$page1 = $page.".html";
}
if(!file_exists($page1)){
$page1 = "404.html";
}
include ($page1);
?>
Koden styrer en menu. Den virker fint på mit webhotel hos b-one (PHP 4.2.2).
Nu har jeg imidligertidigt købt et ekstra webhotel hos b-one som har PHP
4.3.4 og nu virker det ikke længere, det er noget i if-sætningen den går
kold over, ligegyldigt hvilket argument man giver page bliver page1 sat lig
forside.html, jeg kan ikke forstå hvad problemet er.

Mvh
Peter



 
 
Kasper Garnæs (23-04-2004)
Kommentar
Fra : Kasper Garnæs


Dato : 23-04-04 18:34

Peter Anskjær <peter@_fjern_dette_nskjaer.dk> wrote:
> Jeg har et problem jeg ikke kan gemmeskue, jeg har denne her stump
> kode:
><?php
> $page = str_replace('..', '', $page);
> if(!$page || $page == "banner" || $page == "menu"){
> $page1 = "forside.html";
> }
> else{
> $page1 = $page.".html";
> }
> if(!file_exists($page1)){
> $page1 = "404.html";
> }
> include ($page1);
>>
> Koden styrer en menu. Den virker fint på mit webhotel hos b-one (PHP
> 4.2.2). Nu har jeg imidligertidigt købt et ekstra webhotel hos b-one
> som har PHP
> 4.3.4 og nu virker det ikke længere, det er noget i if-sætningen den
> går kold over, ligegyldigt hvilket argument man giver page bliver
> page1 sat lig forside.html, jeg kan ikke forstå hvad problemet er.

Det extra webhotel har sikkert ikke register_globals sat til (det er IMHO en
god ting), og du skal derfor bruge de predefinerede arrays $_GET, $_POST for
at hente henholdsvis get og post variable.

Prøv at indsætte

$page = $_GET["page"];

som din første linie.

Du kan læse mere om de predefinerede arrays her:
http://dk.php.net/manual/en/language.variables.predefined.php

--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk



Peter Anskjær (23-04-2004)
Kommentar
Fra : Peter Anskjær


Dato : 23-04-04 19:36

"Kasper Garnæs" <demos@mailme.dk> skrev i en meddelelse
news:c6bk2c$2bkm$1@news.cybercity.dk...
>
> Det extra webhotel har sikkert ikke register_globals sat til (det er IMHO
en
> god ting), og du skal derfor bruge de predefinerede arrays $_GET, $_POST
for
> at hente henholdsvis get og post variable.
>
> Prøv at indsætte
>
> $page = $_GET["page"];
>
> som din første linie.
>
Tak for hjælpen, det var lige det der skulle til. Jeg har haft kontaktet
supporten for at høre hvorfor det virkede på det ene hotel og ikke det
andet, de sagde blot at jeg skulle skrive korrekt kode til hver enkelt
version, jeg synes det er for dårligt at de ikke fortalte at det var fordi
de havde slået globale variable fra.

> Du kan læse mere om de predefinerede arrays her:
> http://dk.php.net/manual/en/language.variables.predefined.php
>
Det vil jeg gøre med det samme.

Mvh
Peter



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

Månedens bedste
Årets bedste
Sidste års bedste