PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Kann Fehler hier nicht finden,... (https://www.php-resource.de/forum/php-developer-forum/88010-kann-fehler-hier-nicht-finden.html)

Azadoras 03-11-2007 10:59

Kann Fehler hier nicht finden,...
 
Moinsen,

in folgendem Code scheint irgendein Fehler zu sein, und ich kapier nicht wo der liegt. Wahrscheinlich isses ganz easy und ich hab ein Mega-Brett vorm Kopf:

PHP-Code:


$site 
$_GET['site'];

if(!isset(
$site) OR empty($site))
   {
    
$site "Home";
   }

   include(
"head.php");
   include(
$site.".php");
   include(
"foot.php"); 

Führt zu folgendem Error, bei einem Link auf "index.php":

Zitat:

Warning: include(.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\SchreibDochAb\index.php on line 21

Warning: include() [function.include]: Failed opening '.php' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\SchreibDochAb\index.php on line 21
Line 21 ist dabei die "include($site.".php");"

Gebe ich lustigerweise in der if-Abfrage noch ein
PHP-Code:

echo $site

hinzu und öffne dann im Browser die index.php, dann steht da "Home" aber der Error kommt trotzdem.

Linke ich aber auf index.php?site=Home, dann funktioniert alles wie es soll. :>

Warum kommt bei der index.php der Error ?

Ich kapier es nicht.

Danke schonmal!

Greetz,
Aza

ModestLife 03-11-2007 11:30

Mhm, sehr komisch. Was nicht so logisch ist, ist, dass du überprüfst ob $site existiert, obwohl du der Variable eine Zeile weiter oben etwas zuweist. Diese Zuweisung wirft übrigens einen Notice-Error - falls kein Parameter übergeben wurde - da $_GET['site'] nicht existiert.

Versuch mal sowas:
PHP-Code:

$site 'Home';
if(isset(
$_GET['site']) && !empty($_GET['site']))
{
    
$site $_GET['site'];



Azadoras 03-11-2007 12:49

Hrm. Danke dir erstmal. Hab es nun mal so probiert, wie du es vorgeschlagen hast, aber das liefert immernoch das gleiche Ergebnis. :>

combie 03-11-2007 13:50

Prüfe alle Parameter, oder stirb!!
PHP-Code:

<?php
error_reporting
(E_ALL);
ini_set('display_errors'TRUE); // evtl. hilfreich


$site 'home';

$verteiler = array(
                    
'home' => 'home.php',
                    
'impressum' => 'impressum.php',
                    
'bla' => 'bla.php'
                  
);


if(isset(
$_GET['site']) && isset($verteiler[$_GET['site']]))
  
$site $_GET['site'];

include 
"head.php";
include 
$verteiler[$site];
include 
"foot.php";

?>



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:07 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG