Portal > Foren > PHP > PHP-Programmierung > Seitenaufruf im Wikistyle http://domain.de/Termine
Antwort
 
Themen-Optionen
Alt 23.10.2007, 12:26 Nach oben    #1
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard Seitenaufruf im Wikistyle http://domain.de/Termine

Erstmal:
Wie nennt sich sowas?

Das zweite ist dann, wie kann ich sowas realisieren? Muss ich ein Array haben mit allen tatsächlichen Seitenaufrufen und denen der Adresse? Also in der Art:
PHP-Code:
$load = array('Termine' => 'termine.php',
'Informationen' => 'load.php?page=info/allg.tpl'); 
Oder gibt es da eine andere Art? Gibt es irgendwo sowas schon, das ich es mir anschauen kann?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.10.2007, 12:44 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.203
Standard

möchtest du das mit den Mitteln von PHP lösen, oder mit dem apache-Modul mod_rewrite?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.10.2007, 12:52 Nach oben    #3
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.177
Standard

Naja, mit mod_rewrite alle Anfragen auf die index.php umleiten:
Code:
RewriteEngine on
Options +FollowSymlinks
RewriteRule !(test.php) index.php
test.php ist ein Beispiel für eine Datei die noch direkt aufgerufen werden kann

Und dann php-seitig $_SERVER['REQUEST_URI'] auswerten.

Wie du das machst ist dir überlassen und kommt eben auch drauf an wie deine Daten vorliegen. Beispielsweise wenn es sich um eine rein 1-Dimensionale Seite handelt, kann man einfach die variable nehmen / entfernen und dann in der datenbank die Inhalte für die Seite abfragen oder wenn du mit einzelnen php-dateien arbeitest, halt so wie du es aufzeigst überprüfen halt mit einem Array arbeiten.

Hier bietet es sich halt an eine passende Struktur zu besitzen und verschiedene Module die dann die weitere arbeit übernehmen.

Hier mal ein einfaches Beispiel (ungetestet und einfach frei raus geschrieben)


Aufruf: www.domain.tld/blog/
beim script kommt an /blog/
dann wird mittels
PHP-Code:
$array array_shift(explode('/',$_SERVER['REQUEST_URI'])); 
der Pfad zerlegt
dann überprüft man das erste Element von $array ob das nicht leer ist (isset())
und wenn es vorhanden ist fragt man eine Tabelle ab, die Tabelle hat folgenden aufbau:
id|name|type|classname|file
1 | blog | modul | myBlogModule | myBlogModule.php

du rufst also über name = 'blog'

jetzt den aufruf ab über typ kannst du bestimmen was zu tun ist, wenn typ ein modul ist, wird die passende datei includet, das Objekt instanziert und man übergibt ihm beispielsweise das array mit dem Pfad unterhalb des Moduls, damit es weiter entscheiden kann was es macht:

PHP-Code:
// $data ist ein assoziatives Array mit den Werten aus der Datenbank
if ($data['type'] = 'module')
{
require_once(
$data['filename']);
$module = new $$data['classname'](array_shift($array));
$module->run();
}
else
{
// einfach nur das passende Script includen
require_once($data['filename']);

Das wäre eine Möglichkeit, sollte natürlich noch etwas ausgebaut werden.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.10.2007, 10:39 Nach oben    #4
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

@Jann
kann man das auch nur mit PHP lösen?

Danke robo, werds mal in dieser Art testen.
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.10.2007, 16:57 Nach oben    #5
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 239
Standard

Ja, kann man.

Die URLs sehen dann aber so aus: test.tld/index.php/Termine/Ostern2008 und nicht so: test.tld/Termine/Ostern2008

Dazu muss man einfach die URLs wir oben aufrufen und kann dann im Skript $_SERVER['PATH_INFO'] abfragen.
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.10.2007, 17:10 Nach oben    #6
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Ok, danke.
Noch eine Abschliesende, bzw zwei, Fragen:

Hat diese Art von Adresse eine bestimmte Bezeichung?
Kann ich mit PHP testen ob mod_rewrite möglich und vorhanden ist? So das es automatisch die funktionierende Art nutzt?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.10.2007, 17:14 Nach oben    #7
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 279
Standard

Angenommen ihr habt so einen URL test.tld/Termine/Ostern2008
und der Termin hat eine ID in der Datenbank. Wie macht ihr das von diesem sprechenden Link den korrekten Datensatz zu bekommen ohne ID in der URL?

Ich mach das derzeit so mit meinen News. Die haben die URL

meinedomain.com/yyyy-mm-dd/meine-ueberschrift

Im Newsdatensatz speichere ich neben dem Titel auch den sprechenden Titel und natürlich das Datum. Beim selektieren such ich dann den Datensatz mit gleichem Datum und SuMa konformer Überschrift.

Wenn ich mehrere Seiten mit ähnlicher Struktur baue ich natürlich meine URL so damit die Abfrage wirklich eindeutiges Ergebnis liefert.

Die ganze Sache ist zwar etwas redundant wenn ich die Titel doppelt speichere, allerdings ist das ja alles so abstrahiert das ich "weiter oben" davon garnichts mehr mitkriege
ex³ ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.10.2007, 17:46 Nach oben    #8
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.203
Standard

Zitat:
Zitat von Jan Beitrag anzeigen
Kann ich mit PHP testen ob mod_rewrite möglich und vorhanden ist? So das es automatisch die funktionierende Art nutzt?
Du kannst ja mal die Kommentare durchschauen:
http://de3.php.net/manual/de/function.phpinfo.php

Mir ist keine PHP-Funktion bekannt. Da muss man wohl selbst was basteln.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.10.2007, 13:32 Nach oben    #9
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Danke, habt mir echt geholfen
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


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


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44