Menüpunkte in Tabelle laden?

Corroc

Grünschnabel
Hi,
ich hab ein kleines Problem. Ich hab auch gerade erst begonnen mich intensiver mit PHP zu beschäftigen, aber alles weiß ich halt noch nicht.

Und zwar hab ich mir ein Webseiten Grundgerüst aus Tabellen erstellt, um auf Frames verzichten zu können. Nun hab ich aber Folgendes Problem ich schaffe es irgendwie nicht mein Menü mit einer Anderen Tabelle zu verknüpfen. Also ich hab eine linke Tabelle, die als Menü dient und in ihr steht z.B. so etwas:

<a href="index.php?Ordner=Home">Home</a><br>
<a href="index.php?Ordner=News">News</a><br>
<a href="index.php?Ordner=Pics">Pics</a><br>

und dann hab ich eine Tabelle in der Mitte und da würde ich gerne die jeweils einzeln Menüpunkte aufrufen können, aber das hab ich noch nicht so ganz gescheckt wie das läuft bisher sieht es dort so aus :

PHP:
include("Includes/dateien/news.php");

die Seite mit den News wird soweit auch angezeigt, aber sie sieht halt auf jeden Menüpunkt gleich aus, ich weis nicht wie ich es hinbekomme das ein neuer Tabelleninhalt in diese Tabelle geladen wird z.b. Pics.php.

Und deshalb wollte ich fragen ob mir da jemand helfen könnte.
Es kann auch sein das ich total falsch an die Sache herangegangen bin und wenn jemand weiß wie ich so ein Menü richtig Aufbauen oder auch anders machen kann währe ich sehr dankbar.

Es wäre auch schön wenn vielleicht jemand auch ein Tutorial dazu schreiben könnte das man auch richtig gut nachvollziehen kann, weil ich hab nicht wirklich eins gefunden mit dem ich klar gekommen bin.

mfg Corroc
 
PHP:
switch ($_GET['Ordner']
{
case 'Home':
  include("home.php");
  break;
case 'News':
  include("news.php");
  break;
}

Du machst eine Abfrage und fügst dann nur das entsprechende File ein...Wenn der Ordner Home ist, dann home.php und sonst news.php...

Weiss du wie ich meine? Wenn nicht, einfach posten :-)
 
Ich hoffe das hilft dir:
PHP:
<table>
	<tr>
		<td>
			<a href="index.php?open=news">News</a><br>
			<a href="index.php?open=home">Home</a>
		</td>
		<td>
		<?
			$open=$HTTP_GET_VARS['open'];
			if(!isset($HTTP_GET_VARS['open'])) $open='news';
			else $open = $HTTP_GET_VARS['open'];

			$open=str_replace('.','',$open);
			$open=str_replace('/','',$open);
			$open=str_replace(':','',$open);
			$open=str_replace('http','',$open);
			include('files/'.$open.'.inc');
		?>
		</td>
	</tr>
</table>

<ungetestet>
<too late>
 
Zuletzt bearbeitet:
@aquasonic
danke für die Hilfe, nur leider hat es nicht funktioniert da kam immer eine Fehlermeldung, die auf die erste case Anweisung verwies

@ BlackLordOfDragons
ich danke dir auch, deine Variante sieht zwar umstentlich aus aber funktioniert :)


Vielen Dank nochmal an euch beide für die schnelle hilfe.
Bis zum nächsten mal und einen schönen Tag noch.

mfg Corroc
 
so da bin ich schon wieder und zwar funktioniert es soweit alles allerdings nur auf meinem localen host und da bringt er in zeile 22

PHP:
	$Orden=$HTTP_GET_VARS['Orden'];

ne Fehlermeldung:

Notice: Undefined index: Orden in C:\FoxServ\www\Orden\includes\fuss.php on line 22

so dann hab ich die seite mal hochgeladen.

http://mitglied.lycos.de/corroc/index.php

und da zeigt er mir irgendwie nichts an außer das Menü

Fals doch jemand was sieht nicht wundern ist nur zum test.

Also ich frag mich echt warum das nicht geht.

oder könnte es daran liegen das meine index.php so aussieht?

PHP:
<?php
include("includes/kopf.php");
?>

<?php
include("includes/fuss.php");
?>

edit: Also hab mir den Quellcode von der seite mal anzeigen lassen und ob man es glaubt oder nicht da fehlt die komplette php Anweisung dabei hab ich es akriviert zumindest laut steht das auf meiner benutzer seite
 
Zuletzt bearbeitet:
php ist Serverseitig, d.h. der Server wandelt es in html Code um, und der Client merkt davon eigentlich gar nichts.

Meine Variante erstellt einfach eine Tabelle mit 2 Spalten, und rechts wird die datei files/openvariable.inc geholt.

Ich kommentiere das mal alles:

PHP:
<?
	   //Gehört weg, versehentlich doppelt gesetzt ;)
            $open=$HTTP_GET_VARS['open']; 
	   //Wenn sie nicht vorhanden ist wird sie auf news gesetzt
            if(!isset($HTTP_GET_VARS['open'])) $open='news'; 
            else $open = $HTTP_GET_VARS['open']; 

	   //Macht sicherheitszeugs, damit man nicht ein paar Verzeichnisse zurück gehen kann
            $open=str_replace('.','',$open); 
            $open=str_replace('/','',$open); 
            $open=str_replace(':','',$open); 
            $open=str_replace('http','',$open); 

	   //Holt die Datei
            include('files/'.$open.'.inc');
?>

Die dateien die du per $open holst müssen im files Ordner liegen!

Kannst du mal den kompletten Code posten?
 
Zuletzt bearbeitet:
ja klar hier :


also als erstes index.php

Code:
<?php
include("includes/kopf.php");
?>

<?php
include("includes/fuss.php");
?>


so dann die kopf.php

Code:
<html>
<head>
<title>Der Orden</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
  <table width="750" border="0" cellpadding="0" cellspacing="0"  class="index" bgcolor="#FFFFFF">
    <tr> 
      <td height="22" valign="top" colspan="7"> 
        <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#EEEEEE">
          <tr> 
            <td width="750" height="60" valign="top"></td>
          </tr>
        </table>
      </td>
    </tr>
    <tr> 
      <td height="9" width="9"></td>
      <td width="150"></td>
      <td width="14"></td>
      <td width="19"></td>
      <td width="506"></td>
      <td width="19"></td>
      <td width="33"></td>
    </tr>
    <tr> 
      <td height="2"></td>
      <td rowspan="4" valign="top"> 
        <table width="100%" border="0" cellpadding="0" cellspacing="0" class="leftmenuehintergrund">
          
	  <tr> 
            <td height="30"></td>
          </tr>
          <tr> 
            <td height="40" valign="top"> 
              <p align="center">Index<br></p>
              <p align="center">
			    <a href="index.php?Orden=Home">Home</a><br>
				<a href="index.php?Orden=Geschichte">Gerschichte</a><br>
				<a href="index.php?Orden=G&S">Gesinnung und Ziele</a><br>
                		<a href="index.php?Orden=R&auml;nge">R&auml;nge</a><br>
				<a href="index.php?Orden=W&I">Werte & Ideale</a><br>
				<a href="index.php?Orden=Diplomatie">Diplomatie</a><br>
				<a href="index.php?Orden=Strafen">Strafen</a><br>
				<a href="index.php?Orden=Taubennummern">Taubennummern</a>
	      </p>
            </td>
          </tr>
          <tr> 
            <td height="306"></td>
          </tr>
        </table>
      </td>
      <td></td>
     
      <td></td>
      <td></td>
    </tr>

und dann noch die fuss.php

Code:
<tr> 
      <td height="2"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>


    <tr> 
      <td height="685"></td>
      <td></td>
      <td></td>
      <td valign="top" colspan="2"> 
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <tr> 
            <td width="525" height="345" valign="top" class="text"> 
	     
		<?PHP
		
		$Orden=$HTTP_GET_VARS['Orden'];
            if(!isset($HTTP_GET_VARS['Orden'])) $Orden='home';
            else $Orden = $HTTP_GET_VARS['Orden'];

            $Orden=str_replace('.','',$Orden);
            $Orden=str_replace('/','',$Orden);
            $Orden=str_replace(':','',$Orden);
            $Orden=str_replace('http','',$Orden);
            include('Includes/dateien/'.$Orden.'.php');
  		?>

            </td>
          </tr>
        </table>
      </td>
      <td></td>
    </tr>
    <tr> 
      <td height="5"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
</div>
<div align="center"> </div>
</body>
</html>

sa das wars in den anderen seiten steht eigentlich nur text drin
 
Funktioniert bei mir auch, aber du solltest $Orden=$HTTP_GET_VARS['Orden']; noch löschen, da ich bei

PHP:
$Orden=$HTTP_GET_VARS['Orden'];
if(!isset($HTTP_GET_VARS['Orden'])) $Orden='home';
else $Orden = $HTTP_GET_VARS['Orden'];

versehentlich 2-mal die Variable abgefragt habe (einfach das 1.$Orden=$HTTP_GET_VARS['Orden']; löschen)

Ansonsten weiß ich auch nicht mehr weiter.
 
ansonsten schau dir mal meinen thread an: Link

Da hatte ich nen Problem mit meinem Menü, aber da kannste dir das prinzip angucken, das is ziemlich einfach (vielleicht bissl sehr einfach) aber es nach einigen modifikationen.. ich lad dir hier nochma meine index.php mit hoch :)
 

Anhänge

also die fehlermeldung ist jetzt weg nachdem ich die überflüssige zeile gelöscht hatte, aber warum nun auf meiner hp nur das Menü und die blöde Webung angezeigt wird tät mich mal interessieren, kennt sich jemad mit dem problem aus wenn ich auf die seite gehe
HP
und mir den quellcode anzeigenlasse felt da der teil mit dem php code. Ist voll komisch ich hab auch keine Ahnung wie ich das umgehen kann.
Zumal es Lokal auf meinem Rechner ja geht - das ist voll mist
 
Zurück