zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP Webseite

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 12.07.2011, 21:32
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard PHP Webseite

Hi, ich bin am überlegen ob ich jetzt eine PHP generierte Website erstellen soll.
Ich habe dazu schon einige Tests gemacht.
So z.B. unsere Handy-Seite m.spielmannszug-badlangensalza.com ist schon in Php geschriben. Die seite ist sozusagen fünf in einer Seite.

Jetzt Stellt sich mir aber die Frage, ob es nicht sinnvoll wäre die Seiten mittels
MySQL generieren zu lassen, oder einfach nur eine Layout-Datei zu nutzen.
Wie sind Eure Webseiten aufgebaut?
Bindet Ihr den Kopf und den Fuß per include (); et ce*te*ra ein?
MfG.gabischatz
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 12.07.2011, 22:02
Benutzer
neuer user
 
Registriert seit: 18.05.2011
Beiträge: 38
CyberGirl befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

normalerweise benutzt man include() bei Teilen einer Seite die überall gleich sind - Header, Footer, Navi bzw. PHP Code den man in mehreren Skripts verwenden will.
Ein CMS speichert normalerweise die Inhalte der Seiten in einer DB - es gibt auch Ausnahmen die die Inhalte in Dateien speichern wie z.B. Pulse.
Bei einer kleinen Seite lohnt es meiner Meinung nach nicht.

LG
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 13.07.2011, 00:20
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Bei dem Aufbau meiner Seiten kommt es darauf an, was ich will und was ich mache.
Nutze ich keine Datenbank, da es sich nur um wenige Seiten handelt, binde ich Header, Footer und Navigation aus externen Dateien ein um sie schnell ändern zu können.
Habe ich eine Datenbank, kann es hinzukommen, dass ich eine Template Engine nutze. Dann erstelle ich meine Unterseiten immer einzeln und binde diese in eine zentrale Datei ein, in der Header und Footer stehen. Die Navigation wird dann generiert.
Nutze ich hierbei keine Template Engine, dann lade ich die Daten aus der DB in eine zentrale Datei. Jeder Inhalt sieht dann sehr ähnlich aus.

Hierbei bin ich wirklich sehr offen und es kommt darauf an, was ich mache. Es kommt aber auch bei deiner Fragestellung immer darauf an, was zu machen ist. Eine Seite bei der sich oft Daten ändern, sollte einfach und schnell zu bearbeiten sein: Dabei bietet sich ein CMS oder eine Lösung mit Datenbank an. Bei einer kleinen Seite, wie der von mir oder einem Arzt zum Beispiel, kann man getrost auf eine Datenbank verzichten, da sich hier nicht so oft etwas ändert oder es nicht so viel zu machen gibt bei einer Änderung.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #4 (permalink)  
Alt 13.07.2011, 01:55
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 745
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von gabischatz
Jetzt Stellt sich mir aber die Frage, ob es nicht sinnvoll wäre die Seiten mittels
MySQL generieren zu lassen, oder einfach nur eine Layout-Datei zu nutzen.
Das verstehe ich nicht wirklich. Es ist nicht möglich, eine Seite per MySQL generieren zu lassen. Die Aussage ergibt in der Form keinen Sinn. Unter „einfach nur eine Layout-Datei zu nutzen“ kann ich mir inhaltlich ebenfalls nichts vorstellen.

Ich nutze üblicherweise ein Front-Controller-Design.

- Front Controller pattern - Wikipedia, the free encyclopedia
Mit Zitat antworten
  #5 (permalink)  
Alt 13.07.2011, 09:30
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Zitat:
Zitat von gabischatz Beitrag anzeigen
Jetzt Stellt sich mir aber die Frage, ob es nicht sinnvoll wäre die Seiten mittels
MySQL generieren zu lassen, oder einfach nur eine Layout-Datei zu nutzen.
@mermshaus: So ist das in Foren. Man muss ein bisschen um die Ecke denken

Ich habe es so verstanden: Inhalt der Seite steht in einer MySQL Datenbank. Dort wird es dann abgerufen und mittels php an die richtigen Stellen gesetzt. Die Seite wird also nicht von MySQL genriert, sondern mit Hilfe von php, wobei MySQL die Inhalte liefert.
Einfach nur eine Layout Datei zu nutzen, ist wahrscheinlich das Gegenteil: Es gibt viele Dateien für den Inhalt, welche in eine Datei eingebunden werden, die Header, Footer und Navigation enthalten
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #6 (permalink)  
Alt 13.07.2011, 20:25
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 745
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Das wäre zumindest eine mögliche Deutung. Ich frage da inzwischen lieber nach, das vermeidet oftmals Missverständnisse.

Ein paar Tipps:

Die Datenquelle (Kommen die Daten aus einer Datenbank oder aus dem Dateisystem?) sollte für das Zusammenbauen der Seite ohne Bedeutung sein. Im einfachsten Fall könnte dazu eine Funktion getContent($path) angelegt werden, die den eigentlichen Seiteninhalt für einen Pfad der Anwendung ("/", "/projects", "/contact", …) zurückliefert. Ob diese Funktion intern dann eine DB-Abfrage macht oder nicht, ist für die Restanwendung irrelevant.

Simples Beispiel:

index.php

PHP-Code:
<?php

function getContent($path$templateValues null)
{
    
$data = array(
        
'content' => null,
        
'pageTitle' => null
    
);

    
$pagesDir realpath('./pages');

    
$rpRequest realpath($pagesDir '/' $path '.phtml');

    if (
strpos($rpRequest$pagesDir) !== 0) {
        throw new 
Exception('Path is invalid');
    }

    
ob_start();
    include 
$rpRequest;
    
$data['content'] = ob_get_clean();

    return 
$data;
}

$_GET['path'] = (isset($_GET['path'])) ? (string) $_GET['path'] : 'index';

if (
$_GET['path'] === '') {
    
$_GET['path'] = 'index';
}

try {
    
$data getContent($_GET['path']);
} catch (
Exception $e) {
    
$data getContent('error', array('exception' => $e));
}

?><!DOCTYPE html>

<html lang="en">

<head>
    <meta charset="utf-8" />
    <title><?php echo $data['pageTitle']; ?></title>
</head>

<body>

    <ul>
        <li><a href="./">index</a></li>
        <li><a href="./?path=contact">contact</a></li>
        <li><a href="./?path=this-does-not-exist">raise error</a></li>
    </ul>

    <?php echo $data['content']; ?>

</body>

</html>
pages/index.phtml

PHP-Code:
<?php $data['pageTitle'] = 'Index'?>

<h1>Index page</h1>
pages/contact.phtml

PHP-Code:
<?php $data['pageTitle'] = 'Contact'?>

<h1>Contact page</h1>
pages/error.phtml

PHP-Code:
<?php $data['pageTitle'] = 'Error'?>

<p>Error</p>

<p><?php echo $templateValues['exception']; ?></p>
Etwas ausführlicher habe ich einen vergleichbaren Ansatz hier vorgestellt:

- MVC

Da geht's dann aber so langsam in Bereiche, wo der Einsatz eines Frameworks sinnvoll werden dürfte.
Mit Zitat antworten
  #7 (permalink)  
Alt 13.07.2011, 23:18
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Danke für Eure Antwort.
Ich bin mir jetzt im Klaren, dass ich noch nicht so weit bin, die Spielmannszug Seite komplett umzustellen, auf PHP und MySQL.
Ich werde mir erst noch einige gute Bücher zu diesen Thema kaufen und studieren, ehe ich mich an neue HP heranwage.

@Praktikant Danke für die ausführliche Erklärung. Sie war genau Richtig.
Das mit dem um die Ecke denken ist der richtige Ausdruck dafür.

MfG gabischatz
Mit Zitat antworten
  #8 (permalink)  
Alt 15.07.2011, 17:02
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard Mvc

Hi mermshaus, ich habe mir mal dein Ansatz -->
Zitat:
Zitat von mermshaus Beitrag anzeigen
Etwas ausführlicher habe ich einen vergleichbaren Ansatz hier vorgestellt:

- MVC
näher angeschaut, leider komme ich damit nicht wirklich klar. Kannst du ein lauffähiges Beispiel als zip dazu liefern?
MfG. gabischatz
Mit Zitat antworten
  #9 (permalink)  
Alt 15.07.2011, 18:10
Benutzer
neuer user
 
Registriert seit: 18.05.2011
Beiträge: 38
CyberGirl befindet sich auf einem aufstrebenden Ast
Standard

Hallo gabischatz,

ich würde Dir empfehlen erstmal mit den Grundlagen von PHP und MySQL anzufangen. Evt. kannst Du dann später mit einem Framework wie CodeIniter o.ä. weitermachen - wenn es Dir wirklich Spaß macht.

Das MVC Pattern ist nicht unbedingt für Anfänger geeignet.
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 15.07.2011, 20:28
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Ok, Danke
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CSS-Styles werden bei einem Linksprung von Webseite A auf Webseite B nicht geladen Fools (X)HTML 3 13.09.2010 11:57
php include für externe Webseite bolshi Serveradministration und serverseitige Scripte 3 18.06.2010 16:51
Suchfunktion für die eigene Webseite mit PHP und barrierefrei cabotine Barrierefreiheit 15 26.08.2008 23:25
php Datei in css webseite einbinden X5-599 Serveradministration und serverseitige Scripte 14 19.05.2008 09:52
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09


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