PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien includen (?) -> index.php?page=1



GymBo
29.08.2006, 16:51
Hallo,
ich denke mal, dass das schon tausendmal gesagt wurde. Jedoch weiß ich nicht genau, wo und wie ich nachgucken soll, da ich nicht genau weiß, wie das heißt...

Ich habe bei einigen Seiten gesehen, dass die z.B. so einen Dateinamen haben: index.php?page=1 oder index.php?NAME

Wie geht das???
Ich glaube, dass das irgendwie auch includen oder so heißt...bin mir aber überhaupt nicht sicher...

Wie kann man das so machen, dass man statt about_me.php einfach nur index.php?about_me oder index.php?page=1 schreiben muss??

Bitte antworten...suche schon sehr lange nach der Lösung! :mauer:

MfG
GymBo

//edit: Ich bin mir nicht ganz sicher, aber ist das ungefähr sowas, wie das: http://forum.jswelt.de/tutorials-php/24410-php-dynamisch-inhalte-einbinden.html
//edit_2: Das scheint das zu sein...nur...die Links sehen dann so aus: index.php?dir=start Ich will statt dir= z. B. page= haben...wie geht das?

__dejan__
31.08.2006, 10:57
Variablenübergabe mittels GET (http://tut.php-q.net/get.html)

GymBo
31.08.2006, 16:59
Ahhh..- :perfekt:
GET...schon öffters gehört...

Danke :D

//edit: Hmm...irgendwie immer noch nicht das, was ich suche...
Ich will nicht Variablen übergeben, sondern einfach den Dateinamen "umwandeln". Es soll statt tell-a-friend.php nur index.php?tell-friend oder so sein...

Ich suche mal weiter, aber wäre trotzdem nett, wenn das einer von euch findet :)

Asche
31.08.2006, 21:16
naja, du kannst ja in der index.php sowas in der Art schreiben:


if(isset($_GET[tellafriend])) include "tell-a-friend.php";


An sich is das andere auch kein "umwandeln".

GymBo
01.09.2006, 20:45
Original von Asche
naja, du kannst ja in der index.php sowas in der Art schreiben:


if(isset($_GET[tellafriend])) include "tell-a-friend.php";


An sich is das andere auch kein "umwandeln".
Ämm...ich bin noch in des Anfänges des PHP ;)
Wo soll ich das hin machen?
Irgendwo in die Datei (mit <? ?> natürlich)???

Asche
01.09.2006, 21:06
Hmm, korrektur:

if(isset($_GET['tellafriend'])) include("tell-a-friend.php");Bin momentan ausschliesslich am programmieren in C. Kann also sein, dass es von der Syntax her immernoch nicht stimmt.

Also, dass was er in der Zeile macht is ganz simpel:
Die Funktion "isset()" liefert true oder false zurück. Sie prüft ob es die Variable $_GET['tellafriend'] gibt. Wenn ja, dann liefert die Funktion true zurück. In diesem Fall ist also auch die if-Bedingung gültig und es wird "include()" ausgeführt. Beim "include()" wird einfach nur die angegebene Datei (in diesem Fall "tell-a-friend.php") ausgeführt.

Wo du die Zeile in der index.php platzierst ist eigentlich egal. Wenn der Aufruf so lautete: "index.php?tellafriend=", dann führt er das Script "tell-a-friend.php" aus.

Ich persönlich fände sowas natürlich schöner:


if(isset($_GET['page'])) $page = $_GET['page'];

switch($page)
{
case "tellafriend":
include("tell-a-friend.php");
break;
case "impressum":
include("impressum.php");
break;
default:
include("error.php");
break;
}


Wenn du also "index.php?page=tellafriend" aufrufst, dann wird das Script "tell-a-friend.php" ausgeführt.
Wenn du "index.php?page=impressum" aufrufst, dann wird das Script "impressum.php" ausgeführt.
Wenn irgendetwas anderes übergibst (z.B.: "index.php?page=home", "index.php?page=blabla", ...), dann springt er den Fall default und führt das Script "error.php" aus.



P.S.: Alle Angaben ohne Gewähr! Syntaktisch könnte ich ein paar Sachen mit C-Code verwechelt haben... :D

GymBo
01.09.2006, 21:53
Danke...das klingt schonmal sehr gut :D

Du hast ja gesagt, dass wenn man index.php?page=impressum aufruft, dass das Skript impressum.php ausgeführt wird...Damit meinst du doch, dass die Seite eben aufgerufen wird...oder?

//edit: Hmm...das klappt nicht so wirklich. Also die Error Seite wird schonmal angezeigt...Immerhin etwas ;)
Hier (http://gymbo.gy.ohost.de/a/index.php) ist meine Problemseite...
Ich habe bis jetzt eine impressum.php eine start.php und eine error.php Datei angelegt (zusätzlich zur index.php)

Wenn ich die Seiten so aufrufe, klappt das natürlich. Nur mit deinem Skript kommt immer die Error-Seite!

Könnte es vielleicht daran liegen, weil in der start.php etwas bestimmtes stehen muss?

Ich habe im Moment das da stehen:

<?php
echo '
<h2>Startseite</h2>
<p>Text</p>';
?>

P.S.: Das Design ist noch "nicht ganz" ausgereift :D

Asche
02.09.2006, 10:28
Huch, äh, hab mein Script grad eben korrigiert. Probiers damit nochmal :D

GymBo
02.09.2006, 20:46
Yuhu...funktioniert...kann geschlossen werden :D