Aufklappmenü aufgeklappt lassen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
code
dank
datei
einstellen
ersten post
fehler
fehlermeldung
gemacht code
header
http
index
linie
output
session
sichtbar bleiben
test
unterpunkt
unterpunkte
url
-
Hallo,
Beim Auklappmenü sollen die Unterpunkte sichtbar bleiben (ausgeklappt) wenn ein Unterpunkt angeklickt wurde.
Das Menü (navi.php) wird per 'include' in jede Datei, die über die Menüpunkte verlinkt sind, eingebunden.
Stand der PHP: http://www.formfalt.net/testnavi
<dl class="menu"> <dt><?php echo '<a href="leer.php?x=1">Menü 1</a>';?> </dt> <?php if(intval($_GET["x"]) == 1) { echo '<dd> <a href="blau.php?x=1">menue 1a</a> <a href="magenta.php?x=1">menue 1b</a> </dd>'; } ?> </dl> <dl class="menu"> <dt> <?php echo '<a href="leer.php?x=2">Menü 2</a>'; ?> </dt> <?php if(intval($_GET["x"]) == 2) { echo '<dd> <a href="magenta.php?x=2">menue 2a</a> </dd>'; } ?> </dl>
Ist die gewünschte Menüstellung mit 'session_id' zu lösen?
Danke für Hilfe.
Gruß
Maggie -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo!
Es funktioniert mit einer SESSION!
Hier der neue Code:
<?php SESSION_start(); if(intval($_GET["x"]) == 1) { $_SESSION['menu1'] = 'true'; } if(intval($_GET["x"]) == 2) { $_SESSION['menu2'] = 'true'; } ?> <dl class="menu"> <dt><?php echo '<a href="?x=1">Menü 1</a>';?> </dt> <?php if(intval($_GET["x"]) == 1 or $_SESSION['menu1'] == 'true') { echo '<dd> <a href="?x=1">menue 1a</a> <a href="?x=1">menue 1b</a> </dd>'; } ?> </dl> <dl class="menu"> <dt> <?php echo '<a href="?x=2">Menü 2</a>'; ?> </dt> <?php if(intval($_GET["x"]) == 2 or $_SESSION['menu2'] == 'true') { echo '<dd> <a href="?x=2">menue 2a</a> </dd>'; } ?> </dl>
Wenn du noch willst das man sie einklappen kann, dann muss du einstellen, dass die Variablen != true sind
EDIT: HAbe ich einmal schnell gemacht
<?php SESSION_start(); if(intval($_GET["x"]) == 1) { $_SESSION['menu1'] = 'true'; } elseif(intval($_GET["x"]) == -1) { $_SESSION['menu1'] = 'false'; } if(intval($_GET["x"]) == 2) { $_SESSION['menu2'] = 'true'; } elseif(intval($_GET["x"]) == -2) { $_SESSION['menu2'] = 'false'; } ?> <dl class="menu"> <dt><?php if($_SESSION['menu1'] != 'true') { echo '<a href="?x=1">Menü 1</a>'; } else { echo' <a href="?x=-1">Menü 1</a>'; } ?> </dt> <?php if($_SESSION['menu1'] == 'true') { echo '<dd> <a href="?x=1">menue 1a</a> <a href="?x=1">menue 1b</a> </dd>'; } ?> </dl> <dl class="menu"> <dt> <?php if($_SESSION['menu2'] != 'true') { echo '<a href="?x=2">Menü 2</a>'; } else { echo' <a href="?x=-2">Menü 2</a>'; } ?> </dt> <?php if($_SESSION['menu2'] == 'true') { echo '<dd> <a href="?x=2">menue 2a</a> </dd>'; } ?> </dl>
Gruß
illuxio
Beitrag zuletzt geändert: 22.9.2009 23:37:59 von illuxio -
Hallo illuxio,
herzlichen Dank für die schon fertige Ausführung des Scripts.
Ich habe
<?php SESSION_start();?>
ganz oben in der 'navi.php' (nach dem 'error_reporting') eingestellt
und im body dann
<?php if(intval($_GET["x"]) == 1) { $_SESSION['menu1'] = 'true'; } elseif(intval($_GET["x"]) == -1) { $_SESSION['menu1'] = 'false'; }... usw.
Dieser Fehler wird nun angezeigt:
Cannot send session cookie - headers already sent by (output started at /var/www/web361/html/formfalt/navitest/index.php:10)
Was bedeutet die ':10' ?
Gruß
Maggie -
Hi qap2,
http://www.formalt.net/navitest
Die ganze Fehlermeldung lautet:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/web361/html/formfalt/navitest/index.php:10) in /var/www/web361/html/formfalt/navitest/navi.php on line 5
In Linie 10 steht der
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Vor der session_start ist keine Ausgabe.
?? wodurch es diese Fehlermeldung gibt.
Gruß
Maggie -
maggie2 schrieb:
Vor der session_start ist keine Ausgabe.
?? wodurch es diese Fehlermeldung gibt.
Gruß
Maggie
Auch kein Leerzeichen? Das würde nämlich ausreichen :) -
Du hast doch in deinem ersten Post geschrieben, dass die navi.php per include in andere Seiten geladen wird.
Folglich haben diese Seiten ihre Header schon gesendet und daher kommt der Fehler. -
Hallo!
Ja, da war eine Leerzeile und richtig ist auch, dass die 'navi.php' in jeder Datei die per Menüpunkt verlinkt ist, per 'include' eingebunden ist.
Wie kann man dann das Submenü aufgeklappt lassen, wenn es angeklickt wurde?
Hallo,
zum Test, habe ich die Untermenüpunkte auf 'navi.php' verlinkt und das 'Aufgeklappt sein' des Menüpunktes erfolgt trotzdem nicht.
Hat jemand eine Idee wie das Aufklappen noch machbar ist.
Danke.
Gruß
Maggie
Beitrag zuletzt geändert: 24.9.2009 8:31:51 von maggie2 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage