Seite 1 von 2

Include Link

Verfasst: 10.12.2005 22:03
von HV-Speedi2000
Also ich habe folgendes Problem:

In na Tabellenzeile hab ich per include befehlt das hier eingebunden:

Code: Alles auswählen

<?PHP
$number = "10";
include("cutenews/show_news.php");
?>
Nun wird ich gerne wissen, wie ich es machen kann dass wenn man auf nen Link inner navi klickt sich der includebefehl den Link entsprechend verändert.

Also so hier in etwa:

Code: Alles auswählen

Standard is so:
<?php
inlude=("home.php");
?>

Du klickst inner navi auf den Link Team, und dann soll der includebefehl so aussehen:
<?php
inlude=("team.php");
?>
Hoffe ihr könntet mir helfen.

MFG Speedi :)

Verfasst: 10.12.2005 22:33
von witzigerkiller
Such mal nach Switch PHP

Code: Alles auswählen

<?PHP

$inhalt = $_GET['index'];

if (file_exists($inhalt.'.php'))
{
    include($inhalt.'.php');
}
else
{
    include("deinestandartseite.html");
}
?>
Ein link müsste dann so aussehen:

<a href="index.php?index=hallo">Test</a>

dazu musst du den code aber auch in der datei anmens index.php haben.

Das ganze funzt folgendermaßen.

Wenn man auf den link klickt, wird die index.php seite aufgerufen, in der wiederum geprüft wird, ob die datei hallo.php vorhanden ist.
Wenn es diese datei gibt, wird sie geincludet.
Wenn nicht, dann wird eine andere standartseite geincludet.

Wenn du bisschen Probierst und rumspielst, wirst du die funktion dieses codes schneller logisch verfolgen können, als hier sich das durchzulesen.

Viel Glück!

Tobi

Verfasst: 10.12.2005 22:40
von S2B
Nehmen wir an, die Links im Header heißen so:
index.php?page=home
index.php?page=impressum
index.php?page=team

Dann musst du in der index.php nur noch den page-Parameter entsprechend auswerten und die entsprechende Seite includen, z.B. so:

Code: Alles auswählen

$page = (isset($_GET['page'])) ? $_GET['page'] : '';
switch ($page)
{
    case 'home':
        include('home.php';
        break;
    case 'impressum':
        include('impressum.php';
        break;
    case 'team':
        include('team.php';
        break;
}
Alternativ könntest du es auch so lösen:

Code: Alles auswählen

$page = (isset($_GET['page'])) ? $_GET['page'] : '';
$pages = array('home', 'impressum', 'team');

if (in_array($page, $pages))
{
    include("$page.php");
}
Ich würde aber auf jeden Fall den Parameter vorher überprüfen (wie in meinen Beispielen), denn sonst kann man damit ganz üble Sachen anstellen... :wink:

Verfasst: 10.12.2005 22:42
von witzigerkiller
Meins läuft wie das case ab, nur das bei mir weniger schreibarbeit ist. Und das case und switch ist ein wenig besser für anfänger.

Und normaler weiße gehört am schluss noch ein default hin, was bei mir das else wäre.

Verfasst: 10.12.2005 22:49
von S2B
witzigerkiller hat geschrieben:Meins läuft wie das case ab, nur das bei mir weniger schreibarbeit ist. Und das case und switch ist ein wenig besser für anfänger.
Nur ist bei deinem Code das Problem, dass man auch jede andere Datei includen könnte oder z.B. die Datei in sich selbst, was nicht gerade schön ist und unter Umständen auch zu Sicherheitslücken führen kann. Dann spare ich mir doch lieber das bisschen Dynamische und erhalte dafür eine sichere Seite, auf der man auch wirklich nur das machen kann, was ich will. :wink:
witzigerkiller hat geschrieben:Und normaler weiße gehört am schluss noch ein default hin, was bei mir das else wäre.
Nur, wenn man eine Standardseite/Fehlerseite haben will.

Verfasst: 11.12.2005 12:28
von HV-Speedi2000
Das funzuniert aber irgendwie nich :S

hier unter Community => Team

http://headhabbo.com/

Verfasst: 11.12.2005 16:43
von Martin Truckenbrodt
Hallo,
http://www.phpbb.com/kb/article.php?article_id=36

Hilft vielleicht weiter.

Ein Beispiel noch wie ich es nutze:

Code: Alles auswählen

'NAV_BAR' => implode("",file("http://www.yourdomain.com/pathtoyournavigationbar/examplenavigation2.inc.php"))
Gruß Martin

Verfasst: 11.12.2005 17:28
von HV-Speedi2000
Glaub du hast da was flasch verstanden :S

Ich wills nich für nen phpbb forum nutzen sondern für ne php basierende page.

Verfasst: 11.12.2005 17:44
von Martin Truckenbrodt
Hallo,
:oops:

Gruß Martin

Verfasst: 12.12.2005 14:38
von S2B
HV-Speedi2000 hat geschrieben:Das funzuniert aber irgendwie nich :S
Welchen Code verwendest du denn jetzt?