![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#11 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Bei mir funktioniert es so:
Code:
foreach($menue as $key => $val){ if ($key == $_GET['geladene_seite']) { //aktuelle Seite, kein Link echo $val['title']." \n"; } else { //Link echo ''.$val['title'].''." \n"; //andere Methode: echo ''.$val['title'].''." \n"; } } //irgendwann nachher das include: include($menue[$_GET['geladene_seite']]['file']);
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
#12 |
Senior Member
![]() Registriert seit: 13.02.2003
Beiträge: 149
|
![]() hallo @jak,
verstehe nicht warum es bei dir, nicht aber bei mir funktionert. die ersten fehler die gekommen sind: Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING na gut, ein wenig gegoogelt und dann die syntax bei mir verändert: foreach($menue as $key => $val){ if ($key == $_GET['geladene_seite']) { echo "<td align=\"center\" bgcolor=\"#00ff00\">'".$val['title']."'</td>"; } else { echo "<td align=\"center\" bgcolor=\"#c0c0c0\"><a href=\"'".$val['path']."'\">'".$val['title']."'</a></td>"; } } das hätte dann auch soweit geklappt, nur kommt nun diese: Notice: Undefined index: geladene_seite in C:\Programme\xampp\htdocs\index.php on line 62 die zeile 62: if ($key == $_GET['geladene_seite']) { wenn ich trotzdem einen link anklicke wird die seite nicht gefunden -> ich nehme an es liegt an den anführungszeichen im array 'path' also keine ahnung was ich machen kann, damit es so läuft wie ich es mir vorstelle. hilfst du mir noch einmal ![]() ![]()
____________________________________
lg wallhall ![]() |
![]() |
![]() |
![]() |
#13 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Nur zur Erklärung (Vielleicht weißt du das eh schon):
In PHP kann man Strings auf zwei Arten angeben: In doppelten (") oder einfachen(') Hochkommas. Der Unterschied besteht darin, daß bei doppelten Hochkommas Variablen ausgewertet werden: $myvar = 'Hallo'; echo 'Ich sage: $myvar'; echo "Ich sage: $myvar"; Ausgabe: Ich sage: $myvar Ich sage: Hallo Die Notice bekommst du, wenn du zum ersten mal die Seite aufrufst (daher kein ?geladene_seite=...). Wenn dich das stört kannst du es durch: if (isset($_GET['geladene_seite']) && ($key == $_GET['geladene_seite'])) { ersetzen. Zu deinem eigentlichen Problem kann ich dir leider nichts sagen. Eventuell Hochkommas im Text die nicht maskiert sind? Wenn du nichts findest kannst du ja nochmal deinen Code posten. jak jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
#14 |
Senior Member
![]() Registriert seit: 13.02.2003
Beiträge: 149
|
![]() das mit dem einfachen oder doppelten hochkomma wusste ich nicht, muss ich übersehen haben. aber danke für die info!
ich werde mir das ganze nochmal in aller ruhe angucken und vielleicht finde ich den fehler. danke und
____________________________________
lg wallhall ![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
![]() Registriert seit: 13.02.2003
Beiträge: 149
|
![]() [code]
<?php $menue = array( 'neues' => array( 'title' => 'Neuigkeiten', 'file' => 'neues.php', 'path' => 'index.php?geladene_seite=neues' ), 'altes' => array( 'title' => 'Altigkeiten', 'file' => 'altes.html', 'path' => 'index.php?geladene_seite=altes' ), 'ausflug_weiten' => array( 'title' => 'Ausflug nach Weiten', 'file' => 'weiten/weiten.php', 'path' => 'index.php?geladene_seite=ausflug_weiten' ), 'fam_' => array( 'title' => 'Familie ', 'file' => 'fam_.html', 'path' => 'index.php?geladene_seite=fam_' ), ); echo "<table width=\"100%\">\n"; echo "<tr>\n"; foreach($menue as $key => $val){ if ($key == $_GET['geladene_seite']) { echo "<td align=\"center\" bgcolor=\"#00ff00\">'".$val['title']."'</td>"; } else { echo "<td align=\"center\" bgcolor=\"#c0c0c0\"><a href=\"'".$val['path']."'\">'".$val['title']."'</a></td>"; } } echo " </tr>\n"; echo " </table>\n"; echo "</br>\n"; if(isset($_GET['geladene_seite']) AND ($key == $_GET['geladene_seite'])) { include($menue[$_GET['geladene_seite']]['file']); } else { include $menue['fam_']['file']; } ?> das einzige was funktioniert ist die letze include nach dem else, in der schleife werden komischerweise die links alle mit hockkomma dargestellt und beim anklicken wird die seite nicht geladen -> wenn ich die hochkommas aus der adressleiste lösche aber schon ist das ein problem des arrays oder vom auslesen des arrays? ![]()
____________________________________
lg wallhall ![]() |
![]() |
![]() |
![]() |
#16 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Das er Anführungszeichen ausgibt ist klar, nachdem du sie ja auch im Sourcecode stehen hast
![]() siehe hier: PHP-Code:
PHP-Code:
PHP-Code:
![]() mfg Thomas ps: Für alle, die sich intensiver mit PHP auseinandersetzen und größere Seiten planen, würd ich eine Template Enginge wie Smarty empfehlen. |
![]() |
![]() |
![]() |
#17 |
Senior Member
![]() Registriert seit: 13.02.2003
Beiträge: 149
|
![]() @t.dot, wenn ich erklären könnte warum ich diese einfachen hochkommas habe, hätte ich sie vermutlich gar nicht
![]() also hab ich mir selbst ein riesenei gelegt, auch net schlecht ![]() gut, ich werde es einfach einmal rauslöschen und testen ....
____________________________________
lg wallhall ![]() |
![]() |
![]() |
![]() |
#18 |
Senior Member
![]() Registriert seit: 13.02.2003
Beiträge: 149
|
![]() *seufz*
also die links werden jetzt korrekt dargestellt - das passt zum glück PHP-Code:
PHP-Code:
![]() ![]()
____________________________________
lg wallhall ![]() |
![]() |
![]() |
![]() |
#19 |
Senior Member
![]() Registriert seit: 13.02.2003
Beiträge: 149
|
![]() PHP-Code:
aber wie bekomme ich nun die notice-fm weg? aber sonst funktioniert alles, daher ein danke ![]()
____________________________________
lg wallhall ![]() |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|