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
  #11 (permalink)  
Alt 16.07.2011, 15:15
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

Ja, Leute schreiben zu solchen Themen nicht grundlos komplette Bücher. Es ist ziemlich schwierig, da bestimmte Teilaspekte herauszugreifen, ohne gewisses Hintergrundwissen vorauszusetzen.

Ich habe das Beispiel/„Tutorial“ damals geschrieben, weil die Frage, wie eine Webseite mit diversen Unterseiten mit PHP organisiert werden kann, in Variationen ständig kommt.

Die einfachste Antwort ist meist in etwa sowas:

PHP-Code:
<?php

$pages 
= array('home''about''contact');

$_GET['p'] = (isset($_GET['p'])) ? $_GET['p'] : 'home';

if (!
in_array($_GET['p'], $pages)) {
    
$_GET['p'] = 'error';
}

?><!DOCTYPE html>

<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>New</title>
    </head>

    <body>
        <ul>
            <li><a href="?p=home">Startseite</a></li>
            <li><a href="?p=about">Über mich</a></li>
            <li><a href="?p=contact">Kontakt</a></li>
        </ul>

        <?php include './pages/' $_GET['p'] . '.phtml'?>
    </body>

</html>
Der Ansatz stößt allerdings schnell an seine Grenzen und ist nicht unbedingt flexibel.
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 16.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

Es ist ja nicht so das ich nicht schon die Grundlagen gebüffelt habe, aber die meisten Bücher gehen nur ansatzweise in die Tiefe und das was man bei PHP so im Internet findet sind dann komplexe CMS, MVC oder nur die einfachen Grundlagen halt wieder.
MfG
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 17.07.2011, 08:39
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 war nicht als „Vorwurf“ gemeint. Ich wollte nur sagen, dass es auch für Autoren solcher Dokumente schwierig ist, den „sweet spot“ zu erwischen.
Mit Zitat antworten
  #14 (permalink)  
Alt 17.07.2011, 14:04
Benutzerbild von laborix
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.12.2005
Beiträge: 1.494
laborix ist ein sehr geschätzer Menschlaborix ist ein sehr geschätzer Menschlaborix ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von gabischatz Beitrag anzeigen
... aber die meisten Bücher gehen nur ansatzweise in die Tiefe ...
Zustimmung.

Vor einiger Zeit habe ich angefangen mir ein eigenes CMS mit PHP zu schreiben. Dabei sind einige Fragen aufgetaucht, die dir eventuell ein paar Ideen zur Umsetzung geben.

Frage: MySQL oder Flat-file
Wie viele Seiten willst du machen, beziehungsweise wie viele Seiten kommen zusammen? Mehr als 1.000? Dann empfiehlt sich ausnahmslos MySQL. Bleibst du unter den 1.000 Seiten ist Flat-file schneller beim Seitenaufbau, solange man keine Suchanfragen hat. Ist eine Suche integriert, ist bei maximal 250 Einzelseiten Flat-file noch einsetzbar.

Frage: Wer schreibt die Inhalte?
Wenn du nur einen Redakteur hast, kannst du ohne weiteres Flat-file verwenden. Bei mehreren Redakteuren oder Autoren wird ein Flat-file System sehr komplex. Stichworte: gemeinsamer Zugriff beim Editieren und Datei für Schreiben Zugriff sperren (PHP: flock).
Hier hat SQL eindeutig die Nase vorne.

Frage: Sicherheit im Login System
Session Fixation, Session Hijacking und XSS. Zauberworte, aber sinnvoll sich damit auseinander zu setzen. Warum? Alles was im Internet zu finden ist, sind einfache Login Systeme, die eigentlich nur aufzeigen, wie sie im Grundsatz funktionieren. Bist du fit genug für ein sicheres Login System?

Frage: SEO Optimierungen
Wie binde ich Meta-Tags ein, wie gebe ich Einzelseiten eigene Beschreibungen und Keywords? Interessantes Thema und sehr umfangreich bei der Umsetzung. Egal ob MySQL oder Flat-file

Frage: Erweiterte Funktionalitäten Gallery / Uploader
An diesem Punkt entfällt MySQL fast komplett, außer für Indexieren (interne Links). Alles andere ist Datei-orientiert, wie Verzeichnisse anlegen, füllen, Inhalte löschen. Bei einer Gallery möchte man eventuell noch Bildbeschreibungen, diese in die MySQL Datenbank oder als XML-Datei im Gallery Verzeichnis? Beim Uploader, welche Dateitypen und -größen, beziehungsweise wie viele Uploads gleichzeitig. Sehr umfangreich zum Umsetzen.

Viel Theorie, bevor man sich an ein eigenes System macht. Bei deiner Thematik spielen sicherlich weitere Punkte wie News-System, Mitgliederseiten oder Terminkalender rein. Selber mit PHP umsetzen oder ein fertiges CMS verwenden?
__________________
Personal stuff
Mit Zitat antworten
  #15 (permalink)  
Alt 18.07.2011, 00:31
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 30.07.2003
Beiträge: 179
Karlo wird schon bald berühmt werden
Standard

Hi,

@mermshaus
kann man das auch noch aus dem Post #6 mit mod_rewrite erweitern, oder geht das nicht.
Ansonsten schaut's gut aus, für einfache kleine Seiten. Danke sagen schonmal...
__________________
Gruss Karlo
Mit Zitat antworten
  #16 (permalink)  
Alt 18.07.2011, 09:01
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

Du kannst so ziemlich bei allem Mod_rewrite einsetzen, da das mit der verwendeten Sprache nichts zu tun hat, die bei der Seite verwendet wird
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!

Geändert von Praktikant (18.07.2011 um 12:13 Uhr) Grund: Fehler verbessert. Siehe mantiz' Post (Post #17)
Mit Zitat antworten
  #17 (permalink)  
Alt 18.07.2011, 09:48
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Zitat:
Zitat von Praktikant Beitrag anzeigen
Du kannst so ziemlich bei allem Mod_rewrite einsetzen, da das mit der verwendeten Sprache nichts zu tun hat, die bei der Seite verwendet wird
Ich denke das sollte eher so lauten.
Mit Zitat antworten
  #18 (permalink)  
Alt 18.07.2011, 10:05
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

Oh Mann, den Post in #6 habe ich ewig gesucht, weil ich genau den Inhalt in #11 einbauen wollte. Ich wusste noch, dass ich den irgendwo geschrieben hatte, konnte mich aber nicht mehr erinnern wo. Wir werden alle älter, schätze ich.

Ein absolutes Killerfeature einer PHP-Homepage ist das Generieren aller internen Verlinkungen zentral über eine Funktion oder Methode oder noch komplexer über etwas wie einen Router.

Du schreibst also nicht, …

PHP-Code:
<a href="index.php?page=demo">Demo</a
…sondern beispielsweise…

PHP-Code:
<a href="<?php echo url('demo'); ?>">Demo</a>
(Hier müsste noch Escaping per htmlspecialchars o. ä. hinzugefügt werden. Lasse ich mal raus.)

Die Funktion url spuckt dann den entsprechenden Link aus.

Ganz simpel:

PHP-Code:
<?php

function url($page$params = array())
{
    
$params array_merge(array('page' => $page), $params);
    return 
'index.php?' http_build_query($params);
}

echo 
url('demo', array('foo' => '"Hallo Welt!"'));

// Ausgabe: index.php?page=demo&foo=%22Hallo+Welt%21%22
Willst du nun Rewriting nutzen, kann das Pfad-Format zentral für die gesamte Anwendung halbwegs flexibel angepasst werden. Etwa:

PHP-Code:
<?php

function url($page$params = array())
{
    
$queryString '';

    if (
count($params) > 0) {
        
$queryString '/-';

        foreach (
$params as $key => $value) {
            
$queryString .= '/' urlencode($key) . '/' urlencode($value);
        }
    }

    return 
'/' $page $queryString;
}

echo 
url('demo', array('foo' => '"Hallo Welt!"'));

// Ausgabe: /demo/-/foo/%22Hallo+Welt%21%22
Mit Zitat antworten
  #19 (permalink)  
Alt 18.07.2011, 12:12
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 mantiz Beitrag anzeigen
Ich denke das sollte eher so lauten.
Ja, das ist wahr. Danke
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
Sponsored Links
  #20 (permalink)  
Alt 18.07.2011, 15:53
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 30.07.2003
Beiträge: 179
Karlo wird schon bald berühmt werden
Standard

Hi,

damit ich das nun auch richtig verstehe, die beiden Functionen von @mermshaus generieren nur die Links entsprechend. Die erste Function kann man nehmen, wenn man kein mod_rewrite benutzen möchte. Bei der zweiten Function muss man dann entsprechend eine htaccess-Datei anlegen und die Links ensprechend umschreiben.

Muss ich heut abend dann mal probieren, so auf die schnelle hab ich nur die erste Function eingebaut und getestet.

PHP-Code:
function url($page$params = array()) {
    
    
$params array_merge(array('path' => $page), $params);
    return 
'?' http_build_query($params'''&amp;');
}

function 
escape($string$quoteStyle ENT_QUOTES$charset 'UTF-8') {   
    
    return 
htmlspecialchars($string$quoteStyle$charset);

Die escape-Function hab ich aus dem MVC-Tut entnommen, und das HTML dann so:

PHP-Code:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title><?php echo escape($data['pageTitle']); ?></title>
</head>
<body>

    <ul>
        <li><a href="./">index</a></li>
        <li><a href="<?php echo url('contact'); ?>">contact</a></li>
        <li><a href="<?php echo url('this-does-not-exist', array('foo' => 'Hallo Welt!''bar' => 'Wo')); ?>">raise error</a></li>
    </ul>

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

</body>
</html>
Danke für euer Verständnis, ich muss mich mal wieder mehr mit PHP auseinander setzen.
__________________
Gruss Karlo
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 03:52 Uhr.