Include-Datei per Link austauschen

gitiai

New member
Nachdem ich mir rund 12 Suchergebnisse durchgelesen und ausprobiert habe, poste ich nun doch meine
Frage, obgleich sie bestimmt schonmal in diesem Forum in irgendeiner Form beantwortet worden ist:

Will wie bei einem Frame eine PHP-Datei durch eine andere ersetzen, wenn man einen Link anklickt.

<?php
include("text1.php");
?>

Link wird gedrückt -> "text1.php" wird durch "text2.php" ersetzt

Hoffe das reicht als Erklärung dafür, was ich suche...

Gruß
Gitiai
 
Für mich nicht ganz klar:S
Naja du willst per Link-Klick die Site ändern, wozu brauchst du da php?
 
Dann musst du etwas als Query mit übergeben bspw.
PHP:
index.php?site=2

switch ($_REQUEST['site'])
{
  case 2:
    include('site2.php');
    break;
  default:
    include('site1.php');
    break;
}
Hoffe es ist was du suchst!
 
RK, gebe dir da ja definitiv recht, nur nicht in diesem Fall, da eine Erweiterung nach default nicht wirklich viel sinn macht. Zumindest nicht mit einem break im default ;)
 
ZeitGeist schrieb:
RK, gebe dir da ja definitiv recht, nur nicht in diesem Fall, da eine Erweiterung nach default nicht wirklich viel sinn macht. Zumindest nicht mit einem break im default ;)
Nach default nicht wirklich, das stimmt schon, aber wenn das default bspw. zu case 1: und anschließend ein neues default eingefügt wird, dann schon. Ich programmieren grundsätzlich defensiv ;)
Genauso wie
PHP:
if ($var)
  echo 'text';

// sieht bei mir so aus:
if ($var)
{
  echo 'text';
}
Angewohnheit, Erfahrung, usw.
 
RoyalKnight schrieb:
Dann musst du etwas als Query mit übergeben bspw.
PHP:
index.php?site=2

switch ($_REQUEST['site'])
{
  case 2:
    include('site2.php');
    break;
  default:
    include('site1.php');
    break;
}
Genau das habe ich irgendwo gefunden, allerdings habe ich nicht geschafft, dass das bei mir funktioniert....
Habe erst vor kurzem wieder mit php angefangen.
Müsste das nochmal ein bisschen ausführlicher geschrieben bekommen bzw. was ich noch beachten muss...

Danke im voraus!

Gitiai
 
@gitai: was genau funktioniert denn nicht gib doch mal bitte ne Fehlermeldung.

@RK: da gebe ich dir 100% recht, nur bei dem beispiel konnte ich einfach nicht wieder stehen
 
gitiai schrieb:
Müsste das nochmal ein bisschen ausführlicher geschrieben bekommen bzw. was ich noch beachten muss...
Gut, dann erkläre ich es dir ein wenig näher:

Also was hinter dem ? bei einem Link steht, ist der sogenannte Query-String, damit werden Variablen übergeben, no na.

Die globale Variable $_REQUEST ist ein Array und enthält alle mittels Query-String übergebenen Parameter, sowohl jene, die mittels POST, als auch jene, welche mittels GET übergeben wurden.
Variablen aus einem Array erhält man, indem man diese mit dem dementsprechenden Key "aufruft", also bspw. die Variable site aus dem Query-String erhält man mit $_REQUEST['site'].

switch versucht eine passende "Lösung" der an ihn übergebenen Variable zu finden. Diese "Lösungen" kann man mit case und dem entsprechenden Wert, als Beispiel case 2: trifft zu, wenn der übergebene Wert 2 ist. Trifft keiner der Werte zu, so tritt default in kraft.
break; dient dazu, um das Switchen zu verlassen, solle man nach jedem case kein break; einfügen, so erreicht man ein sogenanntes "fall-through", zu deutsch "durchrutschen", damit erreicht man, dass mehrere cases hintereinander ausgeführt werden, besser gesagt, es werden alles cases bis zum 1. break; ausgeführt.

Beispiel:
PHP:
switch($value)
{
  case 2:
    echo $value;
  case 1:
    echo $value;
    break;
  default:
    echo $value;
    break;
}

// switch wird mit $value = 2 aufgerufen:
// Ausgabe: 22

// switch wird mit $value = 1 aufgerufen:
// Ausgabe: 1

// switch wird mit $value = 0 aufgerufen:
// Ausgabe: 0

Zwar banal erklärt, aber ich hoffe doch verständlich ;)
 
RoyalKnight schrieb:
Gut, dann erkläre ich es dir ein wenig näher:

Also was hinter dem ? bei einem Link steht, ist der sogenannte Query-String, damit werden Variablen übergeben, no na.....

Habs hinbekommen - Danke für deinen ausführlichen Post ! ;)

Gitiai
 
Zurück
Oben