PHP Frage, weiß nicht genau wie es heißt ^^

CRIMIN4L

Grünschnabel
also, ich habe eine index.php weil ich will mir eine simple cms schreiben so.
ich muss aber für jede page eine *.php erstellen, zb. downloads.php und ich will mir des sparren und alles in der index.php machen, also zb. hab ich in meiner datenbank eine tabelle namens "pages" und struktur "text" und "id" und ich will wenn man zb. auf downloads klickt auf der index.php bleiben aber das im inhalt wo der text also news und so steht, den text haben was in der mysql tabelle ist.
also zb. könnte dann die url so heißen, http://localhost/index.php?id=2
hoffe könnte es besser erklären
 
Zuletzt bearbeitet:
Soweit ich weis ist das technisch nicht möglich. Und stellt dir das mal technisch vor. Bei jedem Seitenaufruf müsste der komplette Sourcecode aus der DB geladen und dann noch von PHP-Interpreter bearbeitet werden. Das gäb ja mega Wartezeiten. Dafür ist eine Datenbank einfach nicht gedacht.

Außerdem sind mehrer PHP-Datein sinvoll. Gerade wenn du ein CMS machen willst wird das ruck zuck unübersichtlich. Du musst ja auch nicht für alles ne neue PHP erstellen. Wenn du wirklich alles in die index packen willst kannst du das so machen:

PHP:
if($_GET['page'] == home){

//Code der Homeseite

exit();
}

if($_GET['page'] == downloads){

//Code der Downloadsite

exit();
}

Die Seiten rufst du dan so auf:

Code:
http://www.xyz.de/index.php?page=home oder http://www.xyz.de/index.php?page=download

Aber auch hier wirst du irgendwann lange Wartezeiten haben, da der Interpreter das komplette Script durchgehen muss, je nachdem wo dein Eintrag steht.


Ich nutze dieses System, um kleiner Scripte zusammen zufügen. Z.b habe ich eine news.php und dort dann Pages für bearbeiten, löschen, neu ect.

Wenn ich aber ne neue Seite habe mache ich auch ein neues PHP-Script.


Gruß
daniel_sun
 
Na dann musst du beim Aufruf der Seite jeweils prüfen welcher Parameter übergeben wurde, damit die entsprechenden Werte aus der Datenbank/Tabelle auslesen und dann diese Angaben auf der index.php ausgeben.

Ob es allerdings Sinn macht mag ich zu bezweifeln.
 
edit, ok also ich hab mir überlegt das es iwrklich für eine cms sehr dumm wäre alles in die index zu packen.
danke für die hilfe :)

und ich bin dabei ein adm panel zu machen, wo man navigation unso einfügen kann, könntet ihr mir helfen wie mach ich dort ein formular zb.

<form action="admin.php">
<input type="text" name="title">
<input type="text" name="icon">
<input type="text" name="page">
<input type="submit" name="absenen">
</form>

so soltle eig des formular sein aberi ch weiß nicht wie ich die einträge in die mysql datenbank schreibe,
meine struktur der tabelle:
id title icon page
ich hab schon scripts geladen und tutorials gekuckt aber es hilft irgwie nicht -.-
 
Zuletzt bearbeitet:
Technisch ist es möglich und unglaublicherweise auch oft so umgesetzt. Man siehe nur auf die "großen" CMS'es wie Wordpress oder Foren, die auch ohne Caching in menschlicher Zeit Seiten anzeigen.

Nur ist jetzt die Frage, was Du von uns erwartest? Unterscheide einfach zwischen den Get-Variablen und gib dafür verschiedene Suchbeschränkungen für die SQL-Query aus.
PHP:
if(isset($_GET['site'])
{
  # -- wenn angegeben, id wählen
  # -- wenn unbekannt auf index (id=1) springen
  switch $_GET['site']
  {
    case 'partner': $sql_suche=" id='2'"; break;
    case 'aktuell': $sql_suche=" id='3'"; break;
    case 'impressum': $sql_suche=" id='4'"; break;
    default: $sql_suche=" id='1'";
   }
}
else
{
  # -- wenn keine get-variable, dann id=1
  $sql_suche=" id='1'";
}
$SQL_Query="SELECT * FROM tabelle WHERE".$sql_suche;
# etc pp
Dass eine CMS schnell größer wird und der Code besser organisiert sein sollte, ist eigentlich klar. Dies ist nur ein logischer Ansatz für das erste Verständnis.

mfg chmee

nachtrag : criminal, abgesehen von Deiner Schreibe stellst Du Fragen, die man sich erstmal erarbeiten sollte, Schritt für Schritt. Du kannst doch nicht erwarten, dass wir Deine Wünsche einfach so erfüllen.. Bau erstmal ein Forumular, dann schau, wie man die an ein php-Script schickt, dann lies nach, wie man die Daten in die SQL-Datenbank bekommt. Alles auf einmal ist ein bisschen zuviel verlangt.
 
Zuletzt bearbeitet:
Danke :) aber hab mich für die andere Methode geschieden das ich neue *.php mache ^^
und das mit dem formular versuch ich weiterhin aber falls ihr was habt meldet euch ^^
 
Mir scheint so als fehlen dir Grundlagen.

http://tut.php-quake.net/de/

Hier werden die Grundlagen SChritt für Schritt erklärt. auch MYSQL zugriffe. Arbeite dich erstmal in PHP ein. Wie Chmee schon sagte. Dieses Forum ist dafür da um Tips bei Problemen zu geben und nicht um für User die Scripts zu schreiben. Man lernt es nur wenn man es selber versucht.
 
Zurück