SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.08.2009, 16:57:50
Benutzerbild von rrabe
rrabe rrabe ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 33
Beiträge: 15
Intelligentes Menüsystem

Hallo!

Habe lange nichtmehr mit PHP gebastelt, nun stellt sich mir folgendes Problem:
Es gibt diverse Kategorien (z.B. Index, Fotos, Impressum)

Wenn ich nun in index.php den Namen von Fotos in Videos ändere, ließt man in impressum.php immernoch "[Index] - [Fotos] - [Impressum]". Das heißt, ich müsste, wenn es mehrere Kategorien gibt in jeder dateiname.php die Bezeichnung ändern.

Das Problem wollte ich wie folgt lösen:

navi.inc:
PHP-Code:
<?php
$navigation 
$array(
'Index' => index.php,
'Fotos' => fotos.php,
'Impressum' => impressum.php;
)

//Link wird mit entsprechender Bezeichnung ausgegeben
?>
<? foreach ($navigation as $bezeichnung => $datei){ ?>
<a href="<?= $datei ?>"><?= $bezeichnung ?></a>
<? } ?>
In der index.php:

Code:
...
<div id="navi">
 <span>
  <?php include ("navi.inc")?>
 </span>
</div>
...
Beim Testen erhalte ich folgende Fehlermeldung:

Code:
Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\xampp\htdocs\navi.inc on line 2
Was mache ich falsch? bin aus der Materie einfach raus.
Liebe Grüße :)

Geändert von rrabe (31.08.2009 um 17:21:11 Uhr)
Mit Zitat antworten
  #2  
Alt 31.08.2009, 17:11:13
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Intelligentes Menüsystem

es heißt ... = array(... und nicht ... = $array(...
Mit Zitat antworten
  #3  
Alt 31.08.2009, 17:19:29
Benutzerbild von rrabe
rrabe rrabe ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 33
Beiträge: 15
AW: Intelligentes Menüsystem

Danke dir, außerdem waren Klammer und Simikolon vertauscht.

So müsste es aussehen:
PHP-Code:
<?php 
$navigation 
= array( 
'Index' => index.php
'Fotos' => fotos.php
'Impressum' => impressum.php);
?>
Allerdings funktioniert der zweite Teil nicht. Als Ausgabe erhalte ich lediglich:
Code:
$datei){ } ?>
Wo steckt da der Fehlerteufel?
Mit Zitat antworten
  #4  
Alt 01.09.2009, 10:08:26
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Intelligentes Menüsystem

Wie sieht dein Code jetzt aus?
Mit Zitat antworten
  #5  
Alt 01.09.2009, 10:47:56
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: Intelligentes Menüsystem

PHP-Code:
<?php
    
foreach ($navigation as $bezeichnung => $datei) {
        echo 
"<a href=\"{$datei}\">{$bezeichnung}</a>";
    }
?>
mal so probiert?

bist du dir sicher, dass .inc Dateien bei dir auf dem System richtig geparst werden? unter Umständen werden nur .php Dateien wirklich geparst.

Gruß
Domi
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #6  
Alt 01.09.2009, 14:25:33
Benutzerbild von rrabe
rrabe rrabe ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 33
Beiträge: 15
AW: Intelligentes Menüsystem

Danke Domi, nun funktionierts - Außerdem haben bei der Bezeichnung der Namen im Array ein paar Anführungszeichen gefehlt.

Ich habe noch eingebaut, dass die Seite, auf der man sich zur Zeit befindet nicht nochmal verlinkt wird.

navi.inc:
PHP-Code:
<?php 
$navigation 
= array(
    
'Index' => 'index.php',
    
'Fotos' => 'fotos.php',
    
'Impressum' => 'impressum.php');
?>

<?php 
foreach ($navigation as $bezeichnung => $datei) {
    if (
$datei == basename($_SERVER['PHP_SELF'])) {
     echo 
"{$bezeichnung} " ;
    }
    else {
     echo 
"<a href=\"{$datei}\">{$bezeichnung}</a> ";
    }
}    
?>
Die navi.inc wird sauber geparst, klappt wunderbar.
Danke euch. :o)
Mit Zitat antworten
  #7  
Alt 01.09.2009, 22:51:52
3e3e 3e3e ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 36
Beiträge: 9
AW: Intelligentes Menüsystem

Zitat:
Zitat von rrabe Beitrag anzeigen

Code:
...
<div id="navi">
 <span>
  <?php include ("navi.inc")?>
 </span>
</div>
...

nur mal ein kleiner tipp, benenne die datei nicht navi.inc sondern navi.inc.php o.ä. weil nur mit navi.inc kann man die datei ganz normal aufrufen wie ne text datei.
Mit Zitat antworten
  #8  
Alt 02.09.2009, 09:31:59
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: Intelligentes Menüsystem

Zitat:
Zitat von 3e3e Beitrag anzeigen
nur mal ein kleiner tipp, benenne die datei nicht navi.inc sondern navi.inc.php o.ä. weil nur mit navi.inc kann man die datei ganz normal aufrufen wie ne text datei.
guter input, kommt allerdings auf die Konfiguration des Servers an. Normalerweise haben Dateien die included werden können garnichts in öffentlichen Verzeichnissen zu suchen:

Code:
...
 |
 + -- htdocs
 |        |
 |      index.php
 |
 + -- includedir
          |
        navi.inc
*ascii rock* ;)
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #9  
Alt 02.09.2009, 09:40:31
3e3e 3e3e ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 36
Beiträge: 9
AW: Intelligentes Menüsystem

jo da hast du vollkommen recht, aber ich weis ja nicht wo er die datein hat, ich bin davon ausgegangen das er sie sicher im öffentlichen ordner hat da kein "./include/navi.inc" stand *gg*
Mit Zitat antworten
  #10  
Alt 03.09.2009, 15:27:31
Benutzerbild von rrabe
rrabe rrabe ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 33
Beiträge: 15
AW: Intelligentes Menüsystem

Ich schütze meine include-Datein normalerweise, indem ich hinten noch eine # dranhänge.
Beispielweise so: navi.inc#

Über include kann die Datei aufgerufen werden, ein Aufruf über den Browser oder den Dateindex (in dem Fall http:/localhost/) ist ebenfalls nicht möglich.

Kann man das so machen oder ist das schlechter Stil? :/
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Menüsystem in PHP Corvin PHP für Fortgeschrittene und Experten 4 13.07.2004 12:13:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:52:46 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt