WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 28.09.2006, 10:34   #1
wallhall
Senior Member
 
Registriert seit: 13.02.2003
Beiträge: 149


Standard redundante links als inaktiv setzen

also, ich möchte den link der aktuellen seite als nicht aktiv setzen. dabei werden frames mit div-elementen simuliert und mit $_GET['lalala'] übergeben.

blöderweise funktioniert es aber nicht. muss ich da etwas besonderes beachten?
____________________________________
lg wallhall
wallhall ist offline   Mit Zitat antworten
Alt 28.09.2006, 19:00   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Bei der Beschreibung kennt sich keiner aus.

lg,
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)
jak ist offline   Mit Zitat antworten
Alt 29.09.2006, 08:09   #3
wallhall
Senior Member
 
Registriert seit: 13.02.2003
Beiträge: 149


Standard

Zitat:
Original geschrieben von jak
Bei der Beschreibung kennt sich keiner aus.

lg,
jak


ok, ich versuch's nochmal
ich hab eine tabellenzeile mit versch. links, aufgebaut durch eine foreach-schleife. dabei guck ich ob die geladene seite einem link entspricht - falls ja wird er nicht verlinkt.

soweitsogut, die seiten die geladen werden sollen wenn ich einen link anklick, hab ich in einen array liegen, mit dem parameter der übergeben werden soll. quasi ala 3-spalten-layout von quakenet.

die geladene seite soll also keinen aktiven link haben, und genau das funktioniert nicht. deshalb die frage: wie muss ich die seite übergeben, dass diese erkannt wird und der link inaktiv ist??
____________________________________
lg wallhall
wallhall ist offline   Mit Zitat antworten
Alt 29.09.2006, 09:45   #4
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Wie bestimmst du im PHP Skript welcher Inhalt angezeigt wird? Das steht doch sicher in irgendeiner Variablen. Wieso verwendest du nicht die?
Poste eventuell mal deinen Code.

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)
jak ist offline   Mit Zitat antworten
Alt 29.09.2006, 11:05   #5
wallhall
Senior Member
 
Registriert seit: 13.02.2003
Beiträge: 149


Standard

dafür verwende ich zwei ass. arrays.
eines mit den zu übergebenden werten für die foreach-schleife, das andere mit den url's der einzelnen seiten:

<?php

$menue = array(
"Neuigkeiten" => "index.php?geladene_seite=neues",
"was anderes" => "index.php?geladene_seite=wasanderes",
"irgendwas" => "index.php?geladene_seite=irgendwas",
);
$dateien = array();
$dateien['neues'] = "neues.php";
$dateien['wasanderes'] = "wasanderes.html";
$dateien['irgendwas'] = "irgendwas.html";

echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd\">\n";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";

echo "<head>\n";
echo "<meta name=\"author\" content=\"leer\">\n";
echo "<meta name=\"keywords\" content=\"leer\">\n";
echo "<meta name=\"date\" content=\"leer\">\n";
echo "<meta name=\"robots\" content=\"index\">\n";
echo "<meta name=\"robots\" content=\"follow\">\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"formate.css\">\n";
echo "<title>$titel</title>\n";
echo "</head>\n";

echo "<body>\n";

echo " <div id=\"root\">\n";

echo " <div id=\"Einleitung\">\n";
echo " <h1>$einleitung</h1>\n";

echo "<table width=\"100%\">\n";
echo "<tr>\n";
foreach($menue as $eintrag => $datei){
if ($datei == basename($_SERVER['PHP_SELF'])) echo "<td align=\"center\" bgcolor=\"#00ff00\">$eintrag</td>";
else echo "<td align=\"center\" bgcolor=\"#c0c0c0\"><a href=\"$datei\">$eintrag</a></td>";
}
echo " </tr>\n";
echo " </table>\n";
echo "</br>\n";
echo " </div>\n";


echo " <div id=\"Inhalt\" style=\"background-image:url(nonixda.jpg);\">\n";
if(isset($_GET['geladene_seite']) AND isset($dateien[$_GET['geladene_seite']])) {
include $dateien[$_GET['geladene_seite']];
} else {
include $dateien['neues'];
}
echo " </div>\n";

echo " <br style=\"clear:both;\" />\n";
echo " </div>\n";

echo "</body>\n";
echo "</html>\n";

?>
____________________________________
lg wallhall
wallhall ist offline   Mit Zitat antworten
Alt 01.10.2006, 14:26   #6
wallhall
Senior Member
 
Registriert seit: 13.02.2003
Beiträge: 149


Standard

wird meine frage immer noch nicht verstanden oder weiß einfach keiner eine antwort?
____________________________________
lg wallhall
wallhall ist offline   Mit Zitat antworten
Alt 01.10.2006, 14:35   #7
xpla
Elite
 
Registriert seit: 19.12.2003
Beiträge: 1.210


Standard

Naja, ich versteh das mal so,

die aktuelle Seite soll nicht als Link ausgegeben werden, innerhalb einer Seitennavigation, vulgo "pagination".
xpla ist offline   Mit Zitat antworten
Alt 01.10.2006, 15:40   #8
wallhall
Senior Member
 
Registriert seit: 13.02.2003
Beiträge: 149


Standard

@xpla, genau darum geht es mir. nur funktioniert es bei mir nicht, der link bleibt aktiv
möglicherweise liegt es daran, wie ich den wert übergebe?
____________________________________
lg wallhall
wallhall ist offline   Mit Zitat antworten
Alt 01.10.2006, 17:55   #9
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Zitat:
Original geschrieben von wallhall
wird meine frage immer noch nicht verstanden oder weiß einfach keiner eine antwort?
Dochdoch, aber manche Leute lesen halt nicht alle 15min neue posts

Zum Thema:
$_SERVER['PHP_SELF'] liefert nur den Pfad des Aufrufs, nicht die Parameter (also alles vor dem ?). So wie du das willst funktioniert's nicht.

Ich würd' vorschlagen das ganze menu Array ein bischen anders zu organisieren:
Code:
$menue = array(
  'neues' => array(
    'title' => 'Neuigkeiten',
    'file' => 'neues.php',
    'path' => 'index.php?geladene_seite=neues'
  ),
  wasanderes => array(
    'title' => 'was anderes',
    'file' => 'wasanderes.html',
    'path' => 'index.php?geladene_seite=wasanderes'
  ),
  usw...
);
dein Menü kannst du dann mit:
Code:
foreach($menue as $key => $val){
  if ($key == $_GET['geladene_seite']) {
    //inaktiver Eintrag
  } else {
    //aktiver Eintrag
  }
}
zusammenbauen.
Das Include geht dann mit inlude($menue[$_GET['geladene_seite']]['file'])
Da deine Seitennamen nach einem bestimmten Schema aufgebaut sein müssen könntest du dir den 'path' Eintrag im $menue auch sparen und den link einfach mit
echo ''.$val['title'].'';
bauen.

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)
jak ist offline   Mit Zitat antworten
Alt 02.10.2006, 11:39   #10
wallhall
Senior Member
 
Registriert seit: 13.02.2003
Beiträge: 149


Standard

hallo @jak,

danke für deine antwort und den lösungsvorschlag . ich hab mir das angeschaut und getestet - funktioniert aber nicht.
mir ist aufgefallen dass ich das array im array bei der schleife gar nicht auslesen kann, oder verstehe ich da etwas falsch? daher wird auch keine seite geladen beim anklicken (steht nur array statt dem link, und einige notice-fm kommen: Undefined index: geladene_seite in C:\Programme\xampp\htdocs\index.php on line 62)

bitte um weitere hilfe
____________________________________
lg wallhall
wallhall ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:51 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag