webForumDet fria alternativet

Include/paging problem

6 svar · 293 visningar · startad av septor

septorMedlem sedan nov. 2003208 inlägg
#1

När jag försöker inkludera mitt forum i den övriga designen så får jag upp följande fel.
Länkning tex: https://www.sidan.com/index.php?page=forum

Warning: main(./variablar.php): failed to open stream: No such file or directory in /var/www/html/forum/header.php on line 1

Fatal error: main(): Failed opening required './variablar.php' (include_path='.:/php/includes:/usr/share/php') in /var/www/html/forum/header.php on line 1

Men när jag skriver adressen direkt till forumet så fungerar det perfekt!
tex: https://www.sidan.com/forum/index.php

Vad kan det vara för fel?

MatteMedlem sedan aug. 20002 975 inlägg
#2

Hur ser din inkluderingskod ut ?

När du inkluderar via filsystemet kan du inte lägga på några GET-variabler, då filsystemet inte förstår dessa, utan tar det som en del av filnamnet.
Definiera då dina GET-variabler innan din inkludering.

septorMedlem sedan nov. 2003208 inlägg
#3

Matte skrev:

Hur ser din inkluderingskod ut ?

När du inkluderar via filsystemet kan du inte lägga på några GET-variabler, då filsystemet inte förstår dessa, utan tar det som en del av filnamnet.
Definiera då dina GET-variabler innan din inkludering.

Ser ut så här:

((isset($_GET['page']) && ($_GET['page'])=="forum")) {
include ('forum/index.php');
}

filipbhMedlem sedan juli 2002405 inlägg
#4

Har du "if" i början av satsen? Jag brukar alltid köra " istället för ' när jag kör include/require.

septorMedlem sedan nov. 2003208 inlägg
#5

filipbh skrev:

Har du "if" i början av satsen? Jag brukar alltid köra " istället för ' när jag kör include/require.

Ser ut så här.

<?PHP
if ((isset($_GET['page']) && ($_GET['page'])=="info")) {
include ('pages/info.php');
}
elseif ((isset($_GET['page']) && ($_GET['page'])=="galleri")) {
include ('pics/index.php');
}
elseif ((isset($_GET['page']) && ($_GET['page'])=="kontakt")) {
include ('pages/kontakt.php');
}
elseif ((isset($_GET['page']) && ($_GET['page'])=="forum")) {
include ('forum/index.php');
}else {
include ('pages/start.php');
}
?>

MatteMedlem sedan aug. 20002 975 inlägg
#6

Nu förstår jag problemet.

När du kör /forum/index.php direkt i webbläsaren, då utgår dina sökvägar i filen från katalogen /forum, men när du inkluderar ditt forum i /index.php, då kommer sökvägarna i de inkluderade filerna att utgå från webbroten istället.

Lösningen för dig är att i dina underskript göra dina inkluderingar med absolut sökväg från diskroten.

septorMedlem sedan nov. 2003208 inlägg
#7

Tack! :)

Ska kolla när jag kommer hem eller i morgon.

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