Zur Boardunity Forenstartseite
  #1  
Alt 17.04.2006, 11:26
Benutzerbild von Niklas
Astroforen.de
 
Registriert seit: 09.2005
Ort: Spaichingen
Beiträge: 30

PHP-Skript funktioniert nicht


Hi@all,
ich habe mal ein ganz einfaches Skript in PHP programmiert. Es ist für ein Navigationsmenü. Dort sollen nur die Punkte als Links dargestellt werden, auf der Seite man zurzeit nicht ist. Die Seite auf der man sich gerade befindet soll fett dargestellt werden. Und zwar soll es zunächst per
PHP-Code:
$_SERVER['PHP_SELF'
den Dateinamen der aktuell aufgerufenen Datei abrufen und dann mit diesem per if-else-Struktur dann entweder den Link oder das Fettgedruckte ausgeben. Bei mir werden aber alle als Link ausgegeben. Hier ist das Skript:
PHP-Code:
<?php
$_SERVER
['PHP_SELF'] = $datei;
$index "Home";
$blog "Blog";
$umfrage "Umfrage";
$guestbook "Gästebuch";
$contact "Kontakt";
$impressum "Impressum";
$index_datei "/index.php";
$blog_datei "/blog.php";
$umfrage_datei "/umfrage.php";
$guestbook_datei "/guestbook.php";
$contact_datei "/contact.php";
$impressum_datei "/impressum.php";

if (
$datei == $index_datei) { 
echo 
"[ <b>$index</b> ] "; }
else { 
echo 
"[ <a href='$index_datei'>$index</a> ] "; }

if (
$datei == $blog_datei) { 
echo 
"[ <b>$blog</b> ] "; }
else { 
echo 
"[ <a href='$blog_datei'>$blog</a> ] "; }

if (
$datei == $umfrage_datei) { 
echo 
"[ <b>$umfrage</b> ] "; }
else { 
echo 
"[ <a href='$umfrage_datei'>$umfrage</a> ] "; }

if (
$datei == $guestbook_datei) { 
echo 
"[ <b>$guestbook</b> ] "; }
else { 
echo 
"[ <a href='$guestbook_datei'>$guestbook</a> ] "; }

if (
$datei == $contact_datei) { 
echo 
"[ <b>$contact</b> ] "; }
else { 
echo 
"[ <a href='$contact_datei'>$contact</a> ] "; }

if (
$datei == $impressum_datei) { 
echo 
"[ <b>$impressum</b> ] "; }
else { 
echo 
"[ <a href='$impressum_datei'>$impressum</a> ] "; }
?>
Danach binde ich dieses Skript dann per
PHP-Code:
include("footer.inc.php"
in die entsprechenden Seiten ein.
Auf jeden Fall kann ich den Fehler einfach nicht finden. Vielleicht kann mir hier jemand helfen.
Danke !
MfG
Niklas
__________________
Niklas Liebermann
Astroforen.de - Die Community rund um Astronomie und Astrophysik!
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt! Albert Einstein

Geändert von Niklas (17.04.2006 um 15:04 Uhr).
  #2  
Alt 17.04.2006, 13:58
Benutzerbild von MaMo
Viscacha Coder
 
Registriert seit: 09.2003
Beiträge: 809
Hi,

versuch mal folgendes:
PHP-Code:
<?php
// Speichere nur den Dateinamen...
$datei basename($_SERVER['PHP_SELF']);

// Für jeden Eintrag ein Array. Reihenfolge wird berücksichtigt. 
// Jedes Array getrennt mit einem Komma. Im Index "name" steht der auszugebende Text. Im Index "link" steht die Datei.
$links = array(
    array(
'name' => 'Home''link' => '/index.php'),
    array(
'name' => 'Blog''link' => '/blog.php'),
    array(
'name' => 'Umfrage''link' => '/umfrage.php'),
    array(
'name' => 'Gästebuch''link' => '/guestbook.php'),
    array(
'name' => 'Kontakt''link' => '/contact.php'),
    array(
'name' => 'Impressum''link' => '/impressum.php')
);

//  Jeden Link durchgehen
foreach ($links as $data) { 
    
// Prüfen ob der Dateiname des Links gleich des Dateinamens der aufgerufenen Datei ist.
    
if ( $datei == basename($data['link']) ) {
        
// Nur den Namen Fett schreiben
        
echo "[ <b>{$data['name']}</b> ] ";
    }
    else {
        
// Den Link und den Namen ausgeben
        
echo "[ <a href=\"{$data['link']}\">{$data['name']}</a> ] ";
    }
}
?>
Wenn Fragen sind, einfach stellen...
Dieses Verfahren sollte funktionieren, ist aber nicht getestet.

MfG MaMo

__________________
Forensoftware mit integriertem CMS: Viscacha 0.8!
  #3  
Alt 18.04.2006, 10:12
Benutzerbild von Niklas
Astroforen.de
 
Registriert seit: 09.2005
Ort: Spaichingen
Beiträge: 30
Hi,
Danke, MaMo! Es funktioniert! Ich hab jetzt auch rausgefunden, wo mein Fehler lag. Es hätte in der zweiten Zeile statt
PHP-Code:
$_SERVER['PHP_SELF'] = $datei
PHP-Code:
$datei $_SERVER['PHP_SELF']; 
stehen müssen. Dann funktioniert auch meins.
Ich hätte nichtsdestotrotz noch ein Problem und zwar beim gleichen Skript. Ich hab mal meins genommen, da ich bei meinem besser durchblicke . Also und zwar soll diese Navigationsleiste unten stehen. Deshalb möchte ich noch eine Linie darüber haben. Da die Seiten verschieden breit sind, brauche ich natürlich auch zwei verschieden breite Linien. Die Linien heißen linie.png und linie_breit.png. Die Seiten (die Tabellen, wo der Inhalt drin steht) sind entweder 472px oder 600px breit. Jetzt hab ich das mal in der footer.inc.php eingefügt:
PHP-Code:
<p><center><img src="<?php if ($datei == $index_datei || $umfrage_datei || $contact_datei || $impressum_datei) { echo "linie.png"; } elseif ($datei == $blog_datei || $guestbook_datei) { echo "linie_breit.png"; } ?>" width="<?php if ($datei == $index_datei || $umfrage_datei || $contact_datei || $impressum_datei) { echo "460"; } else { echo "590"; } ?>" alt="Trennungslinie" /></center></p>
. Wieder will dieses Skript ums Verr..... nicht hinhauen. Immer wird nur die kleine Linie genommen. Ich hab schon alles durchprobiert: "width" weggelassen usw. Kann mir da jemand helfen.
Und noch ein Problem, die eher im HTML-Bereich angesiedelt: Bei dieser Seite wird immer der Banner und der Footer gequetscht, obwohl die Grafiken exakt 600px breit sind und bei der Tabellenbreite auch exakt 600px angegeben sind. Wenn ich width="600px" weglasse sind die Grafiken zu breit. Im Editor (Dreamweaver 8) sieht alles noch ganz normal aus, aber dann im Browser eben nicht mehr.
Ich hoffe, ihr könnt mir helfen. Danke schonmal !
MfG
Niklas

__________________
Niklas Liebermann
Astroforen.de - Die Community rund um Astronomie und Astrophysik!
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt! Albert Einstein
  #4  
Alt 18.04.2006, 11:46
Benutzerbild von MaMo
Viscacha Coder
 
Registriert seit: 09.2003
Beiträge: 809
Hi.

Versuch mal:
PHP-Code:
<p style="text-align: center;">
<?php if ($datei == $index_datei || $datei == $umfrage_datei || $datei == $contact_datei || $datei == $impressum_datei) { ?>
    <img src="linie.png" width="460" alt="Trennungslinie" />
<?php } else { ?>
    <img src="linie_breit.png" width="590" alt="Trennungslinie" />
<?php ?>
</p>
MfG MaMo

__________________
Forensoftware mit integriertem CMS: Viscacha 0.8!
  #5  
Alt 18.04.2006, 17:45
Benutzerbild von Niklas
Astroforen.de
 
Registriert seit: 09.2005
Ort: Spaichingen
Beiträge: 30
Hi,
und vielen Dank nochmal MaMo. Das hat funktioniert !
Und das zweite Problem hat sich auch erübrigt. Irgendwie hab ich da die Dateien verwechselt .
MfG
Niklas

__________________
Niklas Liebermann
Astroforen.de - Die Community rund um Astronomie und Astrophysik!
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt! Albert Einstein
Antwort


Stichworte
-

Themen-Optionen
Thema bewerten
Thema bewerten:

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie funktioniert vBSEO? andelal Suchmaschinenoptimierung (SEO) & -Marketing (SEM) 8 30.09.2005 19:47
Wie funktioniert Tagging - PHP? Luki Programmierung und Datenbanken 1 28.04.2005 13:03
mini-galerie-skript huedrant Programmierung und Datenbanken 4 25.05.2004 14:44
Gelesen-Funktion - wie funktioniert das? andelal Programmierung und Datenbanken 47 25.03.2004 07:30
Skript für Online Magazin? Daniel Richter Blog, CMS, Wiki und Sonstige 6 29.02.2004 19:39






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24