php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack (1) Themen-Optionen Bewertung: Bewertung: 5 Stimmen, 4,20 durchschnittlich.
  1 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 28-05-2010, 10:18
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard Seiteninhalt ändern - Was ist "state of the art"?

Guten Morgen erstmal,

mein erster Beitrag hier im Forum und ich hoffe, ich bin im richtigen Bereich gelandet. Ich habe folgendes Problem: Ich möchte ein kleines bis mittelgroßes Datenbankprojekt erstellen. Wie bei jeder anderen HTML/PHP-basierten Oberfläche soll es natürlich verschiedene Unterseiten geben. Hierbei soll die Navigation natürlich immer zu sehen sein und es soll sich nur der Inhaltsbereich ändern.

Wie bau ich jetzt am besten meine Navigation, meinen Inhalt und andere Teile der Seite zusammen?
Die einfachste Lösung wären natürlich Frames, aber die sind ja im allgemeinen nicht mehr akzeptiert und alle, die halbwegs etwas von Webdesign verstehen, meiden diese wie der Teufel das Weihwasser.
Dann gäbe es noch die Möglichkeit, eine einzige index.php zu haben, die als "Gerüst" dient, und den Inhalt über eine GET-Variable in den Inhaltsbereich zu laden und vielleicht mittels einer Switch-Anweisung die jeweiligen Fälle zu unterscheiden. Aber auch das stößt irgendwann an seine Grenzen und wird unübersichtlich oder lieg ich da falsch?
Die Variante, jede Seite für sich zu erstellen, wo dann jedesmal der Code für die Navigation neu drin steht missfällt mir irgendwie, wenn ich daran denke, irgendwann mal was an der Seite ändern zu müssen.

Was ist hier der aktuelle Stand der Technik?

Eventuell gibt's dafür auch irgendwo Tutorials? Ich hab bisher noch nix gefunden.

Vielen Dank schonmal im Voraus!

Grüße aus dem Thüringer Wald

Geändert von sfischer (28-05-2010 um 10:26 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 28-05-2010, 10:28
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo und willkommen im Forum,

wie wäre es mit sowas in der Art? Home page

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 28-05-2010, 10:44
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Hey, danke für die schnelle Antwort!

Das heißt also, ich erstelle für jede Inhaltsseite eine eigene Datei und setze dort, wo die Navigation stehen soll dein Script ein? Und ich bestimme meine Struktur im Prinzip nur durch das Array am Anfang?

Wenn ich das richtig verstanden hab, ist das glaube ich genau das, was ich gesucht habe...

Vielen vielen Dank!
Mit Zitat antworten
  #4 (permalink)  
Alt 28-05-2010, 10:54
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Aufgerufen wird in diesem Falle immer das eine Script. Darin kannst du dann aber im body-Element den eigentlichen Seiteninhalt aus einem anderen Script einbinden. Die URLs lassen sich dann ggf. mit mod_rewrite wieder verschönern.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 28-05-2010, 11:02
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Wie meinst du das mit "verschönern"? Ich glaub das is alles noch zu viel für mich

Ich bin dafür, dass Peter mal ein Tutorial schreibt, dann versteh ich das sogar :P

Auf die Gefahr hin unverschämt zu werden: Wie wäre denn das Script für den Aufruf des Seiteninhalts?

Grüße
Mit Zitat antworten
  #6 (permalink)  
Alt 28-05-2010, 11:13
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von sfischer Beitrag anzeigen
Wie wäre denn das Script für den Aufruf des Seiteninhalts?
Z. B.:

PHP-Code:
    ...
    <body>
        <h1><?php echo(getTitle($sitemap)); ?></h1>
        <ul><?php echo(createNavigation($sitemap)); ?></ul>
<?php
    
if (/* prüfen, ob der Pfad legal und nicht manipuliert ist */) {
        include(
dirname(__FILE__) . "/pages" $_GET["path"] . ".inc.php"); 
    }
?>
    </body>
    ...
Zitat:
Zitat von sfischer Beitrag anzeigen
Wie meinst du das mit "verschönern"?
Z. B.
http://example.com/projects/aqua/
statt
http://example.com/index.php?path=/projects/aqua/
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (28-05-2010 um 11:17 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 28-05-2010, 11:17
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Klingt logisch. Ich versuch das mal einzubauen und meld mich dann wieder

Das mit dem Verschönern der Links lass ich erstmal, da das Projekt eh von keiner Suchmaschine erfasst wird und nur in nem Intranet läuft.

Bis denne
Mit Zitat antworten
  #8 (permalink)  
Alt 30-05-2010, 03:18
tr-oo-per
 Registrierter Benutzer
Links : Onlinestatus : tr-oo-per ist offline
Registriert seit: May 2010
Ort: at work
Beiträge: 32
tr-oo-per befindet sich auf einem aufstrebenden Ast
Standard

Hallo sfischer,

Dein Vorhaben scheint etwas zu groß angelegt zu sein, um es auf diese Weise anzugehen. Klingt so als würdest Du alles von Grund auf selbst implementieren wollen.

Sieh Dir am besten mal die PHP-Frameworks "Symfony 1.4" oder "Zend 1.10" an.

Du solltest Deine Anwendung (immerhin eine mittelgroße) in logisch zusammengehörige Module (inkl. zugehöriger Aktionen) aufspalten. Für jedes Modul und ggf. Aktion kannst definierst Du Dein Layout und generierst sonstige dynamische HTML-Inhalte. Beim Klicken auf bestimmte Menüpunkte wird der Benutzer dann an die entsprechenden Module weitergeleitet, wo die jeweiligen Aktionen auszugeführt werden. Z.B.: Registrierungsmodul (Aktionen: registrieren, ent-registrieren), Authentifizierungsmodul (Aktionen: login, logout), u.s.w.

Die o.g. Frameworks unterstützen diese Strukturierung (Modul/ Aktion) und bringen sämtliche Funktionalitäten, die man dafür benötigt mit (z.B. Controller, Router, View, Filter, DB-Adapter, ...). Auch wenn der Einstieg in PHP-Frameworks Anfangs etwas schleppend verläuft, lohnt es sich bei größeren Projekten umso mehr.

Zu Deiner Ausgangsfrage:

Du benötigst ein Layout-Template für Deine gesamte Anwendung, in dem Header, Footer und ggf. Menü eingebunden werden. Der eigentliche Inhalt ist in Form eines Platzhalters im Layout-Skript enthalten.

Code:
+------------------------------------+
| Header                             |
+------------------------------------+
+------+ +---------------------------+
| Menü | | Content                   |
|      | | (Inhalt variabel)         |
|      | |                           |
|      | |                           |
|      | |                           |
|      | |                           |
|      | |                           |
|      | |                           |
+------+ +---------------------------+
+------------------------------------+
| Footer                             |
+------------------------------------+
Formatiert wird heutzutage mit DIV- und SPAN-Elementen, die absolut oder relativ zueinander positioniert werden (keine TABLE-Elemente!). Beispiel:

<div style="width:100px; height:100px; background-color:red;">Test</div>

erzeugt einen roten 100x100 pixel Bereich mit dem Inhalt "Test". Du kannst mit DIV-Elementen Layout-technisch beinahe alles bewerkstelligen, sofern Du mit CSS vertraut bist.

Viel Spass beim Tüfteln!

Geändert von tr-oo-per (30-05-2010 um 03:24 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 30-05-2010, 10:00
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine Antwort tr-oo-per!

Ich schau mir diese PHP-Frameworks mal an. Stellt sich bloß die Frage, in wie weit man diese auch kommerziell kostenlos nutzen darf. Symfony scheint nur für nicht kommerziellen Gebrauch zu sein bei Zend hab ich noch nichts darüber gefunden.

Mit div- und span-Tags arbeite ich bereits.

Grüße

Geändert von sfischer (30-05-2010 um 10:04 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 30-05-2010, 11:09
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Also vielleicht bin ich zu blöd dafür aber ich komm mit der Installation von diesem Zend Frameworks überhaupt nicht zurecht. Und wenn ich mich mit der Installation schon mehrere Stunden beschäftigen muss, dann kann ich den ganzen Kram für mein Projekt auch händisch programmieren.

So long
Mit Zitat antworten
  #11 (permalink)  
Alt 30-05-2010, 14:18
tr-oo-per
 Registrierter Benutzer
Links : Onlinestatus : tr-oo-per ist offline
Registriert seit: May 2010
Ort: at work
Beiträge: 32
tr-oo-per befindet sich auf einem aufstrebenden Ast
Standard

Hi sfischer,

beide PHP-Frameworks dürfen für kommerzielle Zwecke benutzt werden!

Ich denke, dass Du aufgrund des Mangels an Zeit lieber Symfony benutzen solltest. Da gibt es ein Sandbox-Paket, dass Du einfach in Deinen Web-Ordner kopierst und das dann prinzipiell schon läuft.

The symfony framework Installation | symfony | Web PHP Framework

Wenn es Probleme mit der Bilder-Anzeige, liegt es an der Einstellung in Deiner httpd.conf -- Apache Host-Konfiguration. Sollte der folgende Link nicht helfen, schreib einfach hier noch mal etwas.

Getting Started with symfony | Web Server Configuration | symfony | Web PHP Framework

Nachdem Symfony läuft, arbeitest Du Dich durch das Jobeet-Tutorial (nicht auf Deutsch verfügbar) und solltest ziemlich schnell begreifen wie der Hase läuft.

Practical symfony | Day 1: Starting up the Project | symfony | Web PHP Framework

Falls Du Probleme mit Englisch hast, kannst Du auf das Askeet-Tutorial ausweichen (für Symfony-Version 1.0), wobei einige Punkte im Zusammenhang mit Symfony 1.4 nicht funktionieren werden. Aber das Gros sollte klappen.

The Askeet Tutorial | Symfony Adventskalender Tag 1: Ein Projekt beginnen | symfony | Web PHP Framework

Gruß,
tr-oo-per
Mit Zitat antworten
  #12 (permalink)  
Alt 30-05-2010, 16:00
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen

wie wäre es mit sowas in der Art? Home page

Gruß,

Amica
Ich hätte zu diesem Script nochmal ne Frage:

Wozu ist diese Bedingung, bzw was bewirkt sie?

PHP-Code:
$subPages $subPages "<ul>" $subPages "</ul>" ""
Wenn ich das richtig verstanden hab, ist das ja das gleiche wie

PHP-Code:
if ($subPages $subPages)
            
$subPages "<ul>" $subPages "</ul>";
        else
            
$subPages ""
Ist die Bedingung für das if nicht immer TRUE? $subPages = $subPages
Mit Zitat antworten
  #13 (permalink)  
Alt 30-05-2010, 16:06
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von sfischer Beitrag anzeigen
Wozu ist diese Bedingung, bzw was bewirkt sie?
Das bewirkt, dass wenn $subpages leer ist, keine leere Liste erzeugt wird (<ul></ul>), sondern gar nichts. Die if-Entsprechung dafür sähe übrigens so aus:

PHP-Code:
if ($subPages) {
    
$subPages "<ul>" $subPages "</ul>";

__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #14 (permalink)  
Alt 30-05-2010, 16:17
sfischer
 Registrierter Benutzer
Links : Onlinestatus : sfischer ist offline
Registriert seit: May 2010
Beiträge: 30
sfischer befindet sich auf einem aufstrebenden Ast
Standard

Erstmal danke für die schnelle Antwort. Ich würde das ganze gern noch so verändern, dass die Subpages nur angezeigt werden, wenn man sich im entsprechenden Teil des Menüs befindet. Ich versuchs mal so darzustellen:

Meine Menüstruktur sieht so aus:

Code:
Startseite
  Artikel verwalten
    Artikel anlegen
    Artikel suchen
    Artikelliste anzeigen
  Projekte verwalten
    Projekte anlegen
    Projekte suchen
    offene Projekte anzeigen
.
.
.
Was ich jetzt gern möchte ist, dass wenn man auf der Startseite ist, nur die Menüpunkte Artikel verwalten und Projekte verwalten zu sehen sind. Also so:

Code:
Startseite
  Artikel verwalten
  Projekte verwalten
Klickt man dann auf Artikel verwalten, sieht es so aus:

Code:
Startseite
  Artikel verwalten
    Artikel anlegen
    Artikel suchen
    Artikelliste anzeigen
  Projekte verwalten
Klickt man auf Projekte verwalten, dann so:

Code:
Startseite
  Artikel verwalten
  Projekte verwalten
    Projekte anlegen
    Projekte suchen
    offene Projekte anzeigen
Ich hab schon ein paar Anläufe gemacht, aber es kam nie etwas gescheites dabei raus. Eigentlich müsste man ja nur sagen: "Wenn Kindpunkt ein Unterpunkt von Elternpunkt ist, dann zeig mir den Kindpunkt an". Aber irgendwie krieg ichs nicht gebacken...
Mit Zitat antworten
  #15 (permalink)  
Alt 30-05-2010, 17:04
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Dann erweiterst du einfach die Funktion createNavigation um eine Bedingung und gehst nur dann in die foreach-Schleife, wenn die erfüllt ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/99602-seiteninhalt-aendern-was-ist-state-of-the-art.html
Erstellt von For Type Datum
Css Frames Dynamische Menues This thread Refback 10-11-2011 17:23

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Beim zweiten Click erneut ändern onclick="this.value=''"; sanktusm HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 13-07-2008 15:53
5x Praktikum: "Marketing" oder "Webdesign" o. "Kommunikation" ... transparent Jobgesuche 4 18-06-2007 17:02
befehl für windows-fenster "kennwort ändern" des aktuellen benutzers bohni ASP, PERL, CGI, C und alles andere 5 22-06-2006 17:19
value ändern ohne "document"+"formname" besnick HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 02-05-2006 17:35
<input type="text"> - nicht ändern. Ouzo HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 21-01-2005 10:05

Themen-Optionen
Thema bewerten
Thema bewerten:

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.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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