php $_get
11Fire01 07.06.2013 - 12:10 1894 5
11Fire01
Here to stay
|
in diese superglobalen variable kommen die url elemente hinein. nun habe ich eine datei in der links (ala <a href bla bla > sind mit homepage?page=xy. davon gibt es mehrere mit unterschiedlichen verlinkungen. jetzt habe ich da ein script: $get_page = "";
if(isset($_GET['page']))
$get_page = $_GET['page'];
else
error_show('no_page');
das so aussieht. der inhalt der seite wird erst danach mit funktionen aus anderen scripts hinzugefügt zum html gerüst. soweit ich das gesehen habe gibt es keine verlinkung zu der datei mit den links. woher weiß $_GET davon
|
kleinerChemiker
Here to stay
|
huh? ich verstehe die frage wohl nicht ganz.
Du mußt natürlich die Seite mit"?page=xy" aufrufen, damit du $_GET['page']=xy hast, also auf den Link klicken.
|
Obermotz
Fünfzylindernazi
|
Ein eindeutigerer Threadtitel und eine überlegtere Beschreibung des Problems würde es uns vermutlich leichter machen, dir zu helfen. Wenn du php lernen willst, besuch: http://tut.php-quake.net/de/Zu deinem Problem, eine mögliche Interpretation meinerseits: if(isset($_GET['page']))
{
$get_page = $_GET['page'];
switch($get_page) {
case 'xy':
render seite 1
break;
case 'yz':
render seite 2
break;
default:
render default seite
}
}
else
render 404 oder redirect default seite..
Bearbeitet von Obermotz am 07.06.2013, 14:07
|
11Fire01
Here to stay
|
<?php
#----------------------------------
# Includes:
include_once("linkweb_templates.php");
include_once("linkweb_errors.php");
#------------------------------------
# Inhalt seitenabhängig einlesen:
# das einzige script das im browser aufgerufen wird!
# im gegensatz zu modulscripts wird der code direkt ausgeführt
$get_page = "";
if(isset($_GET['page']))
$get_page = $_GET['page'];
else
error_show('no_page');
$page = template_use("standard");
$page = template_set_var($page, "content", file_get_contents($content_files[$get_page]));
$title = template_get_title($page);
$page = template_set_var($page, "title", $title);
template_show($page);
?>
dieses script ist aus professionelle websites (kapitel 12.2.5) - stefan irgendwas. es ließt alles ein und ersetzt gegebenenfalls die lückenfüller. nun habe ich noch eine datei mit: <a class="navi" href="linkweb.php?page=home"> HOME</a> <a class="navi" href="linkweb.php?page=impressum"> Impressum</a> <a class="navi" href="linkweb.php?page=themen"> Themen</a> <a class="navi" href="linkweb.php?page=foren"> Foren</a> <a class="navi" href="linkweb.php?page=literatur"> Literatur</a> woher $_GET beim anklicken wohl seine elemente nimmt. diese datei wird jedoch nirgendwo eingebunden als variable. es funktioniert jedoch (liegt im selben ordner wie alle anderen php dateien, bzw inhaltsdateien). woher hat $_GET beim ersten aufruf das wissen über "page=home"? wenn man dem script ablauf folgt wird das erste mal die seite nach isset erstellt. somit kann es doch gar nicht wissen welcher inhalt geladen gehört. wenns noch konkreter sein muss, dann muss ich alles zusammenkratzen :-(
|
kleinerChemiker
Here to stay
|
<?php
#----------------------------------
# Includes:
include_once("linkweb_templates.php");
include_once("linkweb_errors.php");
#------------------------------------
# Inhalt seitenabhängig einlesen:
# das einzige script das im browser aufgerufen wird!
# im gegensatz zu modulscripts wird der code direkt ausgeführt
$get_page = "";
if(isset($_GET['page']))
$get_page = $_GET['page'];
else
error_show('no_page');
$page = template_use("standard");
$page = template_set_var($page, "content", file_get_contents($content_files[$get_page]));
$title = template_get_title($page);
$page = template_set_var($page, "title", $title);
template_show($page);
?>
dieses script ist aus professionelle websites (kapitel 12.2.5) - stefan irgendwas. es ließt alles ein und ersetzt gegebenenfalls die lückenfüller.
nun habe ich noch eine datei mit:
<a class="navi" href="linkweb.php?page=home"> HOME</a> <a class="navi" href="linkweb.php?page=impressum"> Impressum</a> <a class="navi" href="linkweb.php?page=themen"> Themen</a> <a class="navi" href="linkweb.php?page=foren"> Foren</a> <a class="navi" href="linkweb.php?page=literatur"> Literatur</a>
woher $_GET beim anklicken wohl seine elemente nimmt. diese datei wird jedoch nirgendwo eingebunden als variable. es funktioniert jedoch (liegt im selben ordner wie alle anderen php dateien, bzw inhaltsdateien).
Du rufst ja die Seite "linkweb.php?page=home" auf und der Server/PHP weiß schließlich, welche Seite du aufrufst. woher hat $_GET beim ersten aufruf das wissen über "page=home"? wenn man dem script ablauf folgt wird das erste mal die seite nach isset erstellt. somit kann es doch gar nicht wissen welcher inhalt geladen gehört.
wenns noch konkreter sein muss, dann muss ich alles zusammenkratzen :-( keine Ahnung, geht aus dem Skript nicht hervor. Sollte eventuell auch eher so sein: if(isset($_GET['page']))
$get_page = $_GET['page'];
else
$get_page = 'home';
|
11Fire01
Here to stay
|
ich rufe /linkweb.php auf in meinen Browser. werde selber eines schreiben, dann sehe ichs wohl besser. ich denke nur so ungern
|