Probleme mit Include

sindyho0374

Mitglied
Guten Abend Leuts,

hab ein kleines Problem mit include.
Vielleicht seid Ihr ja so gut und könntet mir da mal weiterhelfen

Hier mal der Code:

PHP:
<?php
error_reporting(0);
ini_set('display_errors', 1);
$s = array();
$s['news'] = 'news.php';
$s['agb'] = 'agb.php';
$s['kontakt'] = 'kontakt.php';
$s['impressum'] = 'impressum.php';
$s = @$_GET["s"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>magnetschild24.de-Wir realisieren Ihre Idee!</title>
<link rel="shortcut icon" href="favicon.ico" />
<link href="css/style.css" rel="stylesheet" type="text/css" />

</head>

<body>
<!--Content-->
<div id="content">
<!--Head-->
<div id="head" title="magnetschild24.de-Wir realisieren Ihre Idee!">
<!--Navi_Top-->
<div id="navi_top">
<a href="index.php?s=index" title="Startseite"<?php echo ($s == 'index' || $s == NULL ?' class="hauptlink"':' class="hoverlink"'); ?>>Startseite&nbsp;&middot;</a>
<a href="index.php?s=agb" title="AGB"<?php echo $s == 'agb'?' class="hauptlink"':' class="hoverlink"'; ?>>AGB&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt"<?php echo $s == 'kontakt'?' class="hauptlink"':' class="hoverlink"'; ?>>Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum"<?php echo $s == 'impressum'?' class="hauptlink"':' class="hoverlink"'; ?>>Impressum</a>
</div>
<!--End Navi_Top-->
</div>
<!--End Head-->
<!--Navigation-Horizontal-->
<div id="navigation">
<div id="navi">
	<ul>
	<li><a href="index.php" title="Startseite">Startseite</a></li>
	<li><a href="index.php?s=magnetschilder" title="Magnetschilder">Magnetschilder</a></li>
	<li><a href="index.php?s=produkthinweise" title="Produkthinweise">Produkthinweise</a></li>
	<li><a href="index.php?s=feedback" title="Über einen Gästebucheintrag würden wir uns freuen.">Feedback</a></li>
	<li><a href="index.php?s=links" title="Links">Links</a></li>
	<li><a href="shop" title="Shop">Shop</a></li>
	</ul>
</div>
</div>
<!--End Navigation-Horizontal-->
<!--Ausgabe Inhalte-->
<div id="ausgabe_inhalte">
<?php
If(array_key_exists($_GET['s'], $s))
{
include($s[$_GET['s']]);
} else {
include($s['news']);
}
?>
</div>
<!--End Ausgabe Inhalte-->
<!--Footer-->
<div id="footer">
<!--Links und Firmenlogos-->
<div id="links_firmenlogos">
<!--Shopbutton-->
<div id="shopbutton">
  <a href="shop.php" title="...zum Onlineshop"><img src="grafiken_website/shopbutton.png" border="0" /></a>
</div>
<!--End Shopbutton-->
<!--Links-->
<div id="links">
<a href="index.php?s=index" title="Startseite">Startseite&nbsp;&middot;</a>
<a href="index.php?s=magnetschilder" title="Magnetschilder">Magnetschilder&nbsp;&middot;</a>
<a href="index.php?s=produkthinweise" title="Produkthinweise">Produkthinweise&nbsp;&middot;</a>
<a href="index.php?s=feedback" title="Feedback">Feedback&nbsp;&middot;</a>
<a href="index.php?s=links" title="Links">Links&nbsp;&middot;</a>
<a href="index.php?s=shop" title="Shop">Shop&nbsp;&middot;</a>
<a href="index.php?s=agb" title="Allgemeine Geschäfts Bedingungen">AGB&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt">Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum">Impressum</a>
<p title="Copyrightinfo">&copy; 2010 Internet PC Service | Email: <a title="info[at]magnetschild24.de" href="mailto:info@magnetschild24.de">info@magnetschild24.de</a> <a href="http://www.magnetschild24.de" title="www.magnetschild24.de">www.magnetschild24.de</a> | <a href="http://www.saxana.com" title="www.saxana.com">www.saxana.com</a> 
</p>
</div>
<!--End Links-->
<!--Firmenlogos-->
<div id="firmenlogos">
<img src="grafiken_website/magnetschild_logo_footer.png" border="0" usemap="#Map" />
<map name="Map" id="Map">
  <area shape="rect" coords="34,6,267,63" href="http://www.magnetschild24.de" alt="www.magnetschild24.de" title="www.magnetschild24.de" />
  <area shape="rect" coords="35,65,190,93" href="http://www.saxana.com" alt="www.saxana.com" title="www.saxana.com" />
</map>
</div>
<!--End Firmenlogos-->
</div>
<!--End Links und Firmenlogos-->
<!--Copyright-->

<!--End Copyright-->
</div>
<!--End Footer-->
</div>
<!--End Content-->
</body>
</html>

Es werden keine Inhalte angezeigt im DIV ausgabe_inhalte die ich halt durch den include Befehl aufrufen möchte.
 
Hallo,
eigentlich nur ein Denkfehler.

Du bezeichnest "$s" als Array, aber in der letzten Zeile bei der Array zuordnung sprengst du alles und schreibst einen Wert rein.
$s = array();
$s['news'] = 'news.php';
$s['agb'] = 'agb.php';
$s['kontakt'] = 'kontakt.php';
$s['impressum'] = 'impressum.php';
$s = @$_GET["s"]; ## ? Hier solltest du eine Alternative finden. Denn nun steht nur noch $_GET["s"] drin.


mfg Splater
 
Hi,

ich habe hier temporär mal einen "file_exists" check eingebaut. Es ist immer gut direkt auch Code mit einzubauen der einem bei der Fehlersuche helfen kann. Außerdem habe ich natülrich oben die letzte Zuweisung zu $s herausgenommen.

PHP:
<?php
error_reporting(0);
ini_set('display_errors', 1);
$s = array();
$s['news'] = 'news.php';
$s['agb'] = 'agb.php';
$s['kontakt'] = 'kontakt.php';
$s['impressum'] = 'impressum.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>magnetschild24.de-Wir realisieren Ihre Idee!</title>
<link rel="shortcut icon" href="favicon.ico" />
<link href="css/style.css" rel="stylesheet" type="text/css" />

</head>

<body>
<!--Content-->
<div id="content">
<!--Head-->
<div id="head" title="magnetschild24.de-Wir realisieren Ihre Idee!">
<!--Navi_Top-->
<div id="navi_top">
<a href="index.php?s=index" title="Startseite"<?php echo ($s == 'index' || $s == NULL ?' class="hauptlink"':' class="hoverlink"'); ?>>Startseite&nbsp;&middot;</a>
<a href="index.php?s=agb" title="AGB"<?php echo $s == 'agb'?' class="hauptlink"':' class="hoverlink"'; ?>>AGB&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt"<?php echo $s == 'kontakt'?' class="hauptlink"':' class="hoverlink"'; ?>>Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum"<?php echo $s == 'impressum'?' class="hauptlink"':' class="hoverlink"'; ?>>Impressum</a>
</div>
<!--End Navi_Top-->
</div>
<!--End Head-->
<!--Navigation-Horizontal-->
<div id="navigation">
<div id="navi">
    <ul>
    <li><a href="index.php" title="Startseite">Startseite</a></li>
    <li><a href="index.php?s=magnetschilder" title="Magnetschilder">Magnetschilder</a></li>
    <li><a href="index.php?s=produkthinweise" title="Produkthinweise">Produkthinweise</a></li>
    <li><a href="index.php?s=feedback" title="Über einen Gästebucheintrag würden wir uns freuen.">Feedback</a></li>
    <li><a href="index.php?s=links" title="Links">Links</a></li>
    <li><a href="shop" title="Shop">Shop</a></li>
    </ul>
</div>
</div>
<!--End Navigation-Horizontal-->
<!--Ausgabe Inhalte-->
<div id="ausgabe_inhalte">
<?php
if (isset($_GET['s']) && !empty($_GET['s']) && array_key_exists($_GET['s'], $s))
{
  // Existiert die zu includierende Datei?
  // Dieser check kann auch wieder auskommentiert werden, sobald das Skript funktioniert.
  if (file_exists($s[$_GET['s']]))
  {
    include($s[$_GET['s']]);
  }
  else
  {
    echo "Die Datei kann auf dem Server nicht gefunden werden.";
    echo "<p><b>Datei: ".$s[$_GET['s']]."</b></p>";
  }
}
else
{
  include($s[$_GET['news']]);
}
?>
</div>
<!--End Ausgabe Inhalte-->
<!--Footer-->
<div id="footer">
<!--Links und Firmenlogos-->
<div id="links_firmenlogos">
<!--Shopbutton-->
<div id="shopbutton">
  <a href="shop.php" title="...zum Onlineshop"><img src="grafiken_website/shopbutton.png" border="0" /></a>
</div>
<!--End Shopbutton-->
<!--Links-->
<div id="links">
<a href="index.php?s=index" title="Startseite">Startseite&nbsp;&middot;</a>
<a href="index.php?s=magnetschilder" title="Magnetschilder">Magnetschilder&nbsp;&middot;</a>
<a href="index.php?s=produkthinweise" title="Produkthinweise">Produkthinweise&nbsp;&middot;</a>
<a href="index.php?s=feedback" title="Feedback">Feedback&nbsp;&middot;</a>
<a href="index.php?s=links" title="Links">Links&nbsp;&middot;</a>
<a href="index.php?s=shop" title="Shop">Shop&nbsp;&middot;</a>
<a href="index.php?s=agb" title="Allgemeine Geschäfts Bedingungen">AGB&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt">Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum">Impressum</a>
<p title="Copyrightinfo">&copy; 2010 Internet PC Service | Email: <a title="info[at]magnetschild24.de" href="mailto:info@magnetschild24.de">info@magnetschild24.de</a> <a href="http://www.magnetschild24.de" title="www.magnetschild24.de">www.magnetschild24.de</a> | <a href="http://www.saxana.com" title="www.saxana.com">www.saxana.com</a> 
</p>
</div>
<!--End Links-->
<!--Firmenlogos-->
<div id="firmenlogos">
<img src="grafiken_website/magnetschild_logo_footer.png" border="0" usemap="#Map" />
<map name="Map" id="Map">
  <area shape="rect" coords="34,6,267,63" href="http://www.magnetschild24.de" alt="www.magnetschild24.de" title="www.magnetschild24.de" />
  <area shape="rect" coords="35,65,190,93" href="http://www.saxana.com" alt="www.saxana.com" title="www.saxana.com" />
</map>
</div>
<!--End Firmenlogos-->
</div>
<!--End Links und Firmenlogos-->
<!--Copyright-->

<!--End Copyright-->
</div>
<!--End Footer-->
</div>
<!--End Content-->
</body>
</html>

CU,
Manuel
 
Hallo Manuel.
Danke das include funktioniert so nach deiner Weise aber jetzt besteht wieder das Problem , dass die Links nicht auf Aktiv gesetzt sind.
 
Hi,
auf die Navigation habe ich gar nicht geachtet. Da musst du die Variable natürlich auch anpassen.

PHP:
<!--Navi_Top-->
<div id="navi_top">
<a href="index.php?s=index" title="Startseite"
  <?php echo (!isset($_GET['s']) || $_GET['s'] == 'index' ? ' class="hauptlink"' : ' class="hoverlink"'); ?>>Startseite&nbsp;&middot;</a>

<a href="index.php?s=agb" title="AGB"
  <?php echo (isset($_GET['s']) && $_GET['s'] == 'agb' ? ' class="hauptlink"':' class="hoverlink"'); ?>>AGB&nbsp;&middot;</a>
  
<a href="index.php?s=kontakt" title="Kontakt"
  <?php echo (isset($_GET['s']) && $_GET['s'] == 'kontakt'?' class="hauptlink"':' class="hoverlink"'); ?>>Kontakt&nbsp;&middot;</a>
  
<a href="index.php?s=impressum" title="Impressum"
  <?php echo (isset($_GET['s']) && $_GET['s'] == 'impressum'?' class="hauptlink"':' class="hoverlink"'); ?>>Impressum</a>
</div>

CU,
Manuel
 
Kann es sein das du hier zwei Beiträge am laufen hast in denen es um das gleiche Problem geht: Bitte um Hilfe.

Damit es geht musst du am einfachsten das Array "s" umbenennen. Sonst überschneidet es sich mit der Variablen "s" die du für den "Linkeffekt" nimmst.

Hoffe mal ich habe hier alles richtig geändert. Aus dem Array "s" wurde das Array "seiten":

PHP:
<?php
error_reporting(0);
ini_set('display_errors', 1);
$seiten = array();
$seiten['news'] = 'news.php';
$seiten['agb'] = 'agb.php';
$seiten['kontakt'] = 'kontakt.php';
$seiten['impressum'] = 'impressum.php';
//die nächste Zeile ist wichtig sonst wirkt CSS bei den Links nicht!
$s = @$_GET['s'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>magnetschild24.de-Wir realisieren Ihre Idee!</title>
<link rel="shortcut icon" href="favicon.ico" />
<link href="css/style.css" rel="stylesheet" type="text/css" />

</head>

<body>
<!--Content-->
<div id="content">
<!--Head-->
<div id="head" title="magnetschild24.de-Wir realisieren Ihre Idee!">
<!--Navi_Top-->
<div id="navi_top">
<a href="index.php?s=index" title="Startseite"<?php echo ($s == 'index' || $s == NULL ?' class="hauptlink"':' class="hoverlink"'); ?>>Startseite&nbsp;&middot;</a>
<a href="index.php?s=agb" title="AGB"<?php echo $s == 'agb'?' class="hauptlink"':' class="hoverlink"'; ?>>AGB&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt"<?php echo $s == 'kontakt'?' class="hauptlink"':' class="hoverlink"'; ?>>Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum"<?php echo $s == 'impressum'?' class="hauptlink"':' class="hoverlink"'; ?>>Impressum</a>
</div>
<!--End Navi_Top-->
</div>
<!--End Head-->
<!--Navigation-Horizontal-->
<div id="navigation">
<div id="navi">
    <ul>
    <li><a href="index.php" title="Startseite">Startseite</a></li>
    <li><a href="index.php?s=magnetschilder" title="Magnetschilder">Magnetschilder</a></li>
    <li><a href="index.php?s=produkthinweise" title="Produkthinweise">Produkthinweise</a></li>
    <li><a href="index.php?s=feedback" title="Über einen Gästebucheintrag würden wir uns freuen.">Feedback</a></li>
    <li><a href="index.php?s=links" title="Links">Links</a></li>
    <li><a href="shop" title="Shop">Shop</a></li>
    </ul>
</div>
</div>
<!--End Navigation-Horizontal-->
<!--Ausgabe Inhalte-->
<div id="ausgabe_inhalte">
<?php
if (isset($_GET['s']) && !empty($_GET['s']) && array_key_exists($_GET['s'], $seiten))
{
  // Existiert die zu includierende Datei?
  // Dieser check kann auch wieder auskommentiert werden, sobald das Skript funktioniert.
  if (file_exists($seiten[$_GET['s']]))
  {
    include($seiten[$_GET['s']]);
  }
  else
  {
    echo "Die Datei kann auf dem Server nicht gefunden werden.";
    echo "<p><b>Datei: ".$seiten[$_GET['s']]."</b></p>";
  }
}
else
{
  include($seiten[$_GET['news']]);
}
?>
</div>
<!--End Ausgabe Inhalte-->
<!--Footer-->
<div id="footer">
<!--Links und Firmenlogos-->
<div id="links_firmenlogos">
<!--Shopbutton-->
<div id="shopbutton">
  <a href="shop.php" title="...zum Onlineshop"><img src="grafiken_website/shopbutton.png" border="0" /></a>
</div>
<!--End Shopbutton-->
<!--Links-->
<div id="links">
<a href="index.php?s=index" title="Startseite">Startseite&nbsp;&middot;</a>
<a href="index.php?s=magnetschilder" title="Magnetschilder">Magnetschilder&nbsp;&middot;</a>
<a href="index.php?s=produkthinweise" title="Produkthinweise">Produkthinweise&nbsp;&middot;</a>
<a href="index.php?s=feedback" title="Feedback">Feedback&nbsp;&middot;</a>
<a href="index.php?s=links" title="Links">Links&nbsp;&middot;</a>
<a href="index.php?s=shop" title="Shop">Shop&nbsp;&middot;</a>
<a href="index.php?s=agb" title="Allgemeine Geschäfts Bedingungen">AGB&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt">Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum">Impressum</a>
<p title="Copyrightinfo">&copy; 2010 Internet PC Service | Email: <a title="info[at]magnetschild24.de" href="mailto:info@magnetschild24.de">info@magnetschild24.de</a> <a href="http://www.magnetschild24.de" title="www.magnetschild24.de">www.magnetschild24.de</a> | <a href="http://www.saxana.com" title="www.saxana.com">www.saxana.com</a>
</p>
</div>
<!--End Links-->
<!--Firmenlogos-->
<div id="firmenlogos">
<img src="grafiken_website/magnetschild_logo_footer.png" border="0" usemap="#Map" />
<map name="Map" id="Map">
  <area shape="rect" coords="34,6,267,63" href="http://www.magnetschild24.de" alt="www.magnetschild24.de" title="www.magnetschild24.de" />
  <area shape="rect" coords="35,65,190,93" href="http://www.saxana.com" alt="www.saxana.com" title="www.saxana.com" />
</map>
</div>
<!--End Firmenlogos-->
</div>
<!--End Links und Firmenlogos-->
<!--Copyright-->

<!--End Copyright-->
</div>
<!--End Footer-->
</div>
<!--End Content-->
</body>
</html>
 
Zuletzt bearbeitet:
Ich weiss garnicht wie ich euch danken soll. Toll das man hier so gut behandelt wird und nicht jeder meckert wenn man mal nichts kapiert. Bin halt in PHP noch nicht so bewandert deshalb habe ich mir jetzt so ein großes Buch vom Franzisverlag gekauft wo alles erklärt wird.

Vielen Dank nochmal an alle.
 
Kann ich denn jetzt auch diese Formatierung auch auf den anderen Links anwenden?
Ich habe ja noch die Hauptnavigation und die Navi im Footer. Natürlich müsste ich dann noch andere CSS-Klassen definieren .
 
Klar geht das.
Du musst halt nur den PHP-Teil entsprechend bei den restlichen Links anpassen und einfügen, zum Beispiel so:
PHP:
<?php echo ($s == 'magnetschilder'?' class="hauptlink"':' class="hoverlink"'); ?>
 
Zurück