PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kleines Menü


headloose
28.04.2006, 16:55:09
Hallo,

ich habe mir ein kleines Menü erstellt.

Allerdings geht der Link immer ins leere und weis nicht warum!

<?php

// Switch Aufbau

switch($_GET["id"]) {

case "1" : include("wir.php"); break;
case "2" : include("ankauf.php"); break;
...
default: "index.php"; // Falls keiner der Fälle zutrifft gehe zur index.php

}

?>



Aufgerufen wird wie folgt:

<a href="index.php?id=1" ></a>

Kann mir da jemand helfen?

schnubbirz
28.04.2006, 17:11:04
ich mach soetwas immer folgendermaßen:

$dateien = array();

$dateien['1'] = "dein/pfad/datei.php";
$dateien['2'] = "datei2.php";
$dateien['3'] = "blabla.php";
$dateien['4'] = "und/so/weiter.php";
#das kannst du auch in einer externen datei auslagern

an der stelle wo die aufgerufene seite dann eigebunden werden soll muss folgendes stehen (zum beispiel in der index):


<?php

if(isset($_GET['section']) AND isset($dateien[$_GET['section']]))
{
include $dateien[$_GET['section']]; #Entweder bindet er die Seite ein, die man mit section= übermittelt hat und die oben festgelegt worden ist, oder...
}
else
{
include $dateien['1']; #er bindet eine standardseite ein, wenn keine seite übermittelt wurde oder er die seite die übermittelt wurde nich finden kann
}

?>


und der link selber schaut dann so aus:


<a href="index.php?section=1>seite 1</a>


vielleicht konnte ich dir ja helfen

headloose
28.04.2006, 22:36:02
Hallo, Danke für Dein Tipp.

Muß eigentlich "<a href="index.php?section=1>seite 1</a>"

im php Bereich stehen?


<?php
<a href="index.php?section=1>seite 1</a>
?>

hoschy
29.04.2006, 10:04:59
Hallo, Danke für Dein Tipp.

Muß eigentlich "<a href="index.php?section=1>seite 1</a>"

im php Bereich stehen?


<?php
<a href="index.php?section=1>seite 1</a>
?>


Nein, das ist "ganz normaler" HTML Code.

Wenn du das mit PHP machen willst, kannst du das so schreiben:

<?php
echo "<a href=\"index.php?section=1\">seite 1</a>";
?>


oder halt so:

<?php
echo "<a href=index.php?section=1>seite 1</a>";
?>


Wichtig sind die " " am anfang und ende mit dem Semikolon dabei. Sonst erzeugt das eine Fehlermeldung

headloose
29.04.2006, 10:18:19
Hallo,

danke für Deine Informationen.

Leider geht bei gar nichts mehr.

Ich habe Dein Vorschlag eingebunden und jetzt wird alles auf einmal angezeigt.

Die Index php die wir.php und die Grafik ist auch noch verschoben.

Wieso?

hoschy
29.04.2006, 10:22:59
So ohne zu wissen wie die Struktur Deiner seite aussieht würde ich sagen, es liegt daran.

Du musst den Link aber auch nicht zwangsläufig mit php integrieren. es reicht auch aus wenn du an der passenden stelle wo die links erscheinen sollen, ganz normal html verwendest.

Aber du könntest ja mal den ganzen Quelltext der Seite posten dann könnte man eventuell den Fehler finden

headloose
29.04.2006, 10:35:52
Also hier mal die erste Seite:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Noch nicht definiert</title>
<link href="menucontainer.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-image: url(images/bg_0.jpg);
}
a:link {
color: #000000;
text-decoration: none;
}
a:visited {
color: #000000;
text-decoration: none;
}
a:hover {
color: #FF0000;
text-decoration: underline;
}
a:active {
color: #FFCC00;
text-decoration: none;
}
-->
</style></head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="23%" height="501" align="left" valign="top"><table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top"><img src="images/navi1.jpg" width="230" height="246"></td>
</tr>
<tr>
<td height="129" align="left" valign="top" background="images/bg_1.jpg"><table width="78%" height="254" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="4%" height="254" align="left" valign="top"><img src="images/dummy.gif" width="6" height="135"></td>
<td width="96%" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%">


<?php
include("config/menue.inc.php");
include("config/navi.php");
?>
</td>

</tr>
<tr>
<td height="110" align="left" valign="top" background="images/navi2.jpg"><img src="images/dummy.gif" width="8" height="110">

</td>
<td></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
<td width="72%">Dies ist die 1. Seite</td>
<td width="5%" align="right" valign="top"><img src="images/balken_rechts.jpg" width="51" height="500"></td>
</tr>
</table>
</body>
</html>


Ich habe noch einmal mein altes script eingebunden, "menue.inc.php"

menue.inc.php


<?php

// Switch Aufbau

switch($_GET["id"]) {

case "1" : echo("wir.php"); break;
case "2" : echo("ankauf.php"); break;

default: "index.php"; // Falls keiner der Fälle zutrifft gehe zur index.php

}

?>



Habe die include durch echo ersetzt. Dazu gleich mehr.

Hier die navi.php


<html>

<div class="menu">
<?php
echo '<a href="index.php?id=1" target="_self" class="menu"><img src="images/dummy.gif" width="11" height="11" border="0">&nbsp;Wir über uns</a>';
echo '<a href="#" target="_self" class="menu"><img src="images/dummy.gif" width="11" height="1" border="0">&nbsp;An- und Verkauf</a>';

</div>



</html>



Die Grafik bleibt soweit beim Aufruf der index.php stehen. Wenn ich auf den Link gehe "Wir über uns" switcht" das Menü auch um allerdings nicht auf die "wir.php" sondern zeigt mir nur "wir.php" an. Aber das dürfte mit dem echo zu tun haben.

Jetzt Dein Vorschlag:

menue2.inc.php


<?php

/
$dateien = array();


$dateien['1'] = "wir.php";
$dateien['2'] = "ankauf.php";
?>



navi2.php

<html>


<div class="menu">
<?php
echo '<a href="index.php?section=1" target="_self" class="menu"><img src="images/dummy.gif" width="11" height="11" border="0">&nbsp;Wir über uns</a>';
echo '<a href="#" target="_self" class="menu"><img src="images/dummy.gif" width="11" height="1" border="0">&nbsp;An- und Verkauf</a>';
?>



Eingebunden so:


<?php
include("config/menue2.inc.php");
include("config/navi2.php");

if(isset($_GET['section']) AND isset($dateien[$_GET['section']]))
{
include $dateien[$_GET['section']];
}
else
{
include $dateien['1'];
}

?>

hoschy
29.04.2006, 11:22:24
Eingebunden so:

<?php
include("config/menue2.inc.php");
include("config/navi2.php");

if(isset($_GET['section']) AND isset($dateien[$_GET['section']]))
{
include $dateien[$_GET['section']];
}
else
{
include $dateien['1'];
}
?>


Schon besser. Also imho liegt der Fehler darin wie du die navi2.php und die menue2.inc.php einbindest.

Laut deiner Struktur der Seite hast du keine "Räumliche" Trennung von Navigation und den anzuzeigenden Seiten. Daher wird auch alles auf einmal angezeigt.

Navigation und die anzuzeigenden Seiten sollten daher getrennt werden.

Wenn du das via Tabellen machen willst könnte dir das hier weiterhelfen:

[CODE]
<table border="0" width="99%" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" align="center"><h2>Titel der Seite</h2></td>
</tr>
<tr>
<td>
<table border="0">
<tr>
<td>Hier Navigation</td>
</tr>
</table>
</td>
<td>
<table border="0">
<tr>
<td>Hier die Seiten rein</td>
</tr>
</table>
</td>
</tr>
</table>
[/COTE]

Das ist jetzt nur ein schnelles beispiel, also nicht die ultimative Lösung. Aber vielleicht hilft es dir ja weiter

headloose
29.04.2006, 11:51:01
Hallo,

leider geht es überhaupt nicht!

Kann ich Dir das komplette Script einmal per mail senden?

hoschy
30.04.2006, 06:21:55
Hallo,

leider geht es überhaupt nicht!

Kann ich Dir das komplette Script einmal per mail senden?

Ja, kannst du. schau mal in deine Privaten Nachrichten da findest du meine Email Adresse