# include befehl



## Gibson79 (15. Oktober 2007)

Hi!
Mein problem ist folgendes:
Ich benutze folgende include befehle der auch funktioniert...

In der Navi: <a href="index.php?pagetoload=start.htm">BILD</a>

Im Content: <?php $pagetoload;

if(!isset($pagetoload) or $pagetoload == "") {

$pagetoload = "start.htm"; } include("$pagetoload"); ?>


Was aber nicht funktioniert ist folgendes. Ich möchte z.b. wenn man auf "Möbel" klickt das eine 2. navigation neben der 1. navigation erscheint in der dann z.b. "tische" und "schränke" steht. Wenn ich nun auf tische klicke soll im content bereich tische.htm angezeigt werden. ist das umzusetzen mit dem include befehl?


So habe ich das vor:
http://img137.imageshack.us/my.php?image=test1oe6.jpg


Ich habe hier im forum folgendes gefunden...

http://www.tutorials.de/forum/php-t...che-art-fuer-z-b-index-php-section-links.html

http://www.tutorials.de/forum/php-t...on-ueber-die-url-index-php-section-index.html

Würde es damit gehen, oder ist iframe die bessere lösung?


----------



## Maik (15. Oktober 2007)

Hi,

für dein Vorhaben benötigst du eine Menüstruktur mit Submenüs, die die weiterführenden Links zu den Dokumenten enthalten, und beim Anklicken oder Überfahren der Hauptlinks eingeblendet werden.


----------



## Gibson79 (15. Oktober 2007)

Gibt es irgendwo einfache beispiele für ein dropdown menü, ich bin bis jetzt nicht fündig geworden. Kann man das dropdown menü auch benutzen wenn meine "haupt-links" grafiken sind und kein text?

Müsste es nicht einflyout menü sein, es soll ja nach rechts aufgehen.


----------



## Maik (15. Oktober 2007)

CSS:

http://www.cssplay.co.uk/menus/flyoutt.html
CSS (+ JS für IE5 + 6):

http://www.htmldog.com/articles/suckerfish/dropdowns/example/vertical.html
Selbstverständlich lassen sich in einem Dropdown-Menü auch grafische Links einsetzen.


----------



## Gibson79 (15. Oktober 2007)

Die gleiche seite hatte ich auch eben grad gefunden, aber das ist ja mit css. 
Das problem: ich habe keinen plan davon. 
Es kann doch nicht an so einem menü scheitern 

Edit: erstmal danke für deine hilfe maik bevor ich es vergesse


----------



## Maik (15. Oktober 2007)

Ich häng dir hier mal den relevanten Quellcode aus dem ersten verlinkten Beispiel an, die Menüstruktur im HTML-Code hab ich deinem Screenshot schon mal ein wenig angepasst 

Vielleicht hilft dir diese Vorlage zum Ausprobieren und Üben weiter?


```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta name="author" content="Maik">
<title>tutorials.de | demo_Gibson79</title>

<link rel="stylesheet" media="all" type="text/css" href="flyout.css">
<!--[if lte IE 6]>
<link rel="stylesheet" media="all" type="text/css" href="flyout_ie.css">
<![endif]-->

</head>
<body>

<div class="menu">
     <ul>
         <li><a href="#">START</a></li>
         <li><a class="hide" href="#">MÖBEL</a>
         <!--[if lte IE 6]>
         <a href="#">MÖBEL
         <table><tr><td>
         <![endif]-->
                     <ul>
                         <li><a href="#">TISCHE</a></li>
                         <li><a href="#">SCHRÄNKE</a></li>
                     </ul>
         <!--[if lte IE 6]>
         </td></tr></table>
         </a>
         <![endif]-->
         </li>
         <li><a class="hide" href="#">UHREN</a>
         <!--[if lte IE 6]>
         <a href="#">UHREN
         <table><tr><td>
         <![endif]-->
                     <ul>
                         <li><a href="#">DAMEN</a></li>
                         <li><a href="#">HERREN</a></li>
                     </ul>
         <!--[if lte IE 6]>
         </td></tr></table>
         </a>
         <![endif]-->
         </li>
         <li><a class="hide" href="#">LAMPEN</a>
         <!--[if lte IE 6]>
         <a href="#">LAMPEN
         <table><tr><td>
         <![endif]-->
                     <ul>
                         <li><a href="#">DECKENLAMPEN</a></li>
                         <li><a href="#">STEHLAMPEN</a></li>
                     </ul>
         <!--[if lte IE 6]>
         </td></tr></table>
         </a>
         <![endif]-->
         </li>
         <li><a class="hide" href="#">SONSTIGES</a>
         <!--[if lte IE 6]>
         <a href="#">SONSTIGES
         <table><tr><td>
         <![endif]-->
                     <ul>
                         <li><a href="#">ACCESSOIRES</a></li>
                         <li><a href="#">LIFESTYLE</a></li>
                     </ul>
         <!--[if lte IE 6]>
         </td></tr></table>
         </a>
         <![endif]-->
         </li>
         <li><a href="">KONTAKT</a></li>
     </ul>
</div>

</body>
</html>
```
*flyout.css*

```
/* ================================================================ 
This copyright notice must be untouched at all times.

The original version of this stylesheet and the associated (x)html
is available at http://www.cssplay.co.uk/menus/flyoutt.html
Copyright (c) 2005-2007 Stu Nicholls. All rights reserved.
This stylesheet and the assocaited (x)html may be modified in any 
way to fit your requirements.
=================================================================== */
/* common styling */
.menu {font-family: arial, sans-serif; width:106px; height:150px; position:relative; margin:0; font-size:11px; margin:50px 0;}
.menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000; width:104px; height:20px; text-align:center; border:1px solid #fff; border-width:1px 1px 0 0; background:#c9c9a7; line-height:19px; font-size:11px;}
.menu ul {padding:0; margin:0;list-style-type: none; }
.menu ul li {float:left; margin-right:1px; position:relative;}
.menu ul li ul {display: none;}

/* specific to non IE browsers */
.menu ul li:hover a {color:#fff; background:#b3ab79;}
.menu ul li:hover ul {display:block; position:absolute; top:0; left:105px; width:105px;}
.menu ul li:hover ul li a.hide {background:#dfc184; color:#000;}
.menu ul li:hover ul li:hover a.hide {width:150px;}
.menu ul li:hover ul li ul {display: none;}
.menu ul li:hover ul li a {display:block; background:#b3ab79; color:#000; width:150px;}
.menu ul li:hover ul li a:hover {background:#dfc184; color:#000;}
.menu ul li:hover ul li:hover ul {display:block; position:absolute; left:151px; top:0; color:#000;}
.menu ul li:hover ul li:hover ul li a {display:block; width:200px; background:#dfc184; color:#000;}
.menu ul li:hover ul li:hover ul li a:hover {background:#bd8d5e; color:#fff;}
```
*flyout_ie.css*

```
/* ================================================================ 
This copyright notice must be untouched at all times.

The original version of this stylesheet and the associated (x)html
is available at http://www.cssplay.co.uk/menus/flyoutt.html
Copyright (c) 2005-2007 Stu Nicholls. All rights reserved.
This stylesheet and the assocaited (x)html may be modified in any 
way to fit your requirements.
=================================================================== */
table {border-collapse:collapse; border:0; margin:0; padding:0;}

.menu ul li a.hide, .menu ul li a:visited.hide {display:none;}
.menu ul li a:hover ul li a.hide {display:none;}

.menu ul li a:hover {color:#fff; background:#b3ab79;}
.menu ul li a:hover ul {display:block; position:absolute; top:0; left:105px; width:105px;}
.menu ul li a:hover ul li a.sub {background:#dfc184; color:#000;}
.menu ul li a:hover ul li a {display:block; background:#b3ab79; color:#fff; width:150px;}
.menu ul li a:hover ul li a ul {visibility:hidden;}
.menu ul li a:hover ul li a:hover {background:#dfc184; color:#000;}
.menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:151px; top:0; color:#000;}
.menu ul li a:hover ul li a:hover ul li a {display:block; width:200px; background:#dfc184; color:#000;}
.menu ul li a:hover ul li a:hover ul li a:hover {background:#bd8d5e; color:#fff;}
```


----------



## Gibson79 (16. Oktober 2007)

WOW, du hast das ja schon auf meine seite bezogen mit möbel und lampen usw. 
Danke

Es gibt ja 2 verschiedene flyout.css dateien, einmal für IE und eine für non-IE, welche muss ich davon benutzen? Etwa beide?
Jetzt muss ich nur noch wissen wie ich eine css datei erstelle


----------



## Maik (16. Oktober 2007)

Hi,

für das Flyout-Menü sind beide CSS-Dateien erforderlich.

Einfach den Quellcode kopieren, in einem Texteditor, wie z.B. dem Windows Notepad, einfügen, und als *.css-Datei speichern, fertig


----------



## Gibson79 (16. Oktober 2007)

Geil, ich werds jetzt testen, bin mal gespannt


----------



## franz007 (17. Oktober 2007)

Gibson79 hat gesagt.:


> Hi!
> Mein problem ist folgendes:
> Ich benutze folgende include befehle der auch funktioniert...
> 
> ...


Wenn das wirklich so im code steht ist das höchst unsicher weil jeder eine beliebige php Datei auch von außerhalb in dein system einschleusen kann und dadurch extremen schaden anrichten kann.
So wie das hier steht ist das eine extreme *Sicherheitslücke*.


Du solltest die Daten nicht per $pagetoload sondern $_GET['pagetoload'] ansprechen.
Überprüfen ob in $pagetoload etwas vorkommt wie zb http oder auch :// was auf eine Datei von außerhalb hinweist
Leg am besten alle Dateien die du includen willst in einen bestimmten Ordner und überprüfe vor dem includen ob die Datei in diesem Ordner vorhanden ist.

Weitere tipps findest du in der php-Abteilung und bei


----------



## Gibson79 (18. Oktober 2007)

Danke für den sicherheitshinweis

Ich bin grad auf eine andere möglichkeit gestossen, was haltet ihr denn von einem iframe?


----------



## franz007 (18. Oktober 2007)

iframe? na ja gleich viel (oder wenig) wie von einem normalen frame. Die Nachteile sind genau die selben. http://www.google.at/search?hl=de&q=frames+nachteile&btnG=Google-Suche&meta=

Was du auch noch machen könntest ist dir ein CMS zulegen http://de.wikipedia.org/wiki/Content-Management-System


----------



## Gibson79 (18. Oktober 2007)

Das scheint mir alles leicht kompliziert, ich glaube ich verlinke alles ganz "normal" und lasse die seite jedesmal von neuem aufbauen


----------



## franz007 (18. Oktober 2007)

Dann musst du aber das Layout in jeder Seite einbauen und bei änderungen auch in allen Seiten ändern.


----------



## Gibson79 (19. Oktober 2007)

Ja richtig, ich wollte es eigentlich nicht so machen wegen der ladezeiten, aber es ist wohl das einfachste.


----------



## Maik (19. Oktober 2007)

Hi,

und wenn du dich einfach nach einem alternativen "Including"-Script umschaust?

In unseren PHP-Tutorials findest du hierzu auch einige Beispiele.


----------

