Prob mit XAMPP Lite 1.4.11

Alles, was PHP betrifft, kann hier besprochen werden.

Prob mit XAMPP Lite 1.4.11

Postby eXaByte » 22. January 2005 18:36

Hallo,
Ich habe eine ganz einfache Seite:
Code: Select all
<?php

include("include/vars.php");
include($path[server]."/include/top.php");

if(!isset($HTTP_GET_VARS[page]))
  $page = home;
else
  $page = $HTTP_GET_VARS[page];

if(file_exists($path[server]."/pages/$page.php"))
{
  include ($path[server]."/pages/$page.php");
}
else
  include ($path[server]."/pages/error.php");


include($path[server]."/include/bottom.php");

?>

Diese funktioniert auf meinem Webserver problemlos, aber XAMPP gibt immer die Datei error.php aus, obwohl die Dateien vorhanden sind.

Gruß
eXaByte
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby Wiedmann » 22. January 2005 18:40

Welchen Wert hat "$path[server]" und "$page" zu diesem Zeitpunkt?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby eXaByte » 22. January 2005 18:46

Häh :?:
Sry aber ich bin noch PHP Anfänger :oops:
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby eXaByte » 22. January 2005 20:52

Weiß niemand was?
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby adi99 » 23. January 2005 00:49

Hi probiers mal so
Code: Select all

<?php

include("include/vars.php");
include("/include/top.php");

if(!isset($HTTP_GET_VARS[page]))
  $page = home;
else
  $page = $HTTP_GET_VARS[page];

if(file_exists("/pages/$page.php"))
{
  include (/pages/$page.php");
}
else
  include (/pages/error.php");


include("/include/bottom.php");

?>


Wenn es so nicht funktioniert, musst du uns wirklich sagen was $path[server] und $pagefür einen wert hat... Wir können schiesslich auch nicht hellsehen...
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby eXaByte » 23. January 2005 11:03

Jetzt funzt garnix mehr, kommen nur noch Fehlermeldungen.

Wenn ihr mir erklärt was ihr mit Wert meint sach ichs euch.
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby Wiedmann » 23. January 2005 11:13

Wenn du diesen Code einfügst, dann gibt er dir den Inhalt der zwei Variablen aus und bricht das Script danach ab (--> Was gibt er also da dann aus?):
<?php

include("include/vars.php");
include($path[server]."/include/top.php");

if(!isset($HTTP_GET_VARS[page]))
$page = home;
else
$page = $HTTP_GET_VARS[page];

echo '<pre>';
echo var_dump($path[server]);
echo var_dump($page);
echo '</pre>';
exit;


if(file_exists($path[server]."/pages/$page.php"))
{
include ($path[server]."/pages/$page.php");
}
else
include ($path[server]."/pages/error.php");


include($path[server]."/include/bottom.php");

?>


BTW:
ist in "$path[server]" das "server" eine Konstante? Wenn nein, müsste das auch überall so lauten:
$path['server']
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby eXaByte » 23. January 2005 11:32

Dann kommt das:
Code: Select all
string(18) "http://localhost/2"
string(4) "home"

eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby Wiedmann » 23. January 2005 14:35

Die Variable "$path[server]" wird falsch definiert.
--> file_exists() funktioniert nicht über den HTTP-Wrapper und liefert hier immer "false". Deshalb wird auch die "error.php" eingebunden.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby eXaByte » 23. January 2005 17:38

und was kann ich da machen?
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby Wiedmann » 23. January 2005 18:00

Naja, da wo du diese Variable definierst, musst du das halt mit einem korrektem Wert machen...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby eXaByte » 23. January 2005 18:20

Aha, und wie sieht der korrekte Wert aus?

Hier die Datei:
Code: Select all
<?php

$path[server] = "http://localhost/2";
$path[http] = "http://localhost/2";

?>
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby Wiedmann » 23. January 2005 18:29

"$path[server]" muss der Pfad auf deiner Platte sein (keine URL, davür hast ja die zweite Variable).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby eXaByte » 23. January 2005 18:32

Also C:\xampplite\htdocs\2\ ???????
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Postby eXaByte » 23. January 2005 18:36

Geht nich, dann kommt:
Code: Select all
Parse error: syntax error, unexpected T_STRING in C:\xampplite\htdocs\2\include\vars.php on line 4
eXaByte
 
Posts: 16
Joined: 22. January 2005 18:28

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests