Variablen Liste erstellen -> Wie genau funktioniert das?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abc
action
adresse
aussehen
break
container
datei
direkte inhalt
externen angaben
fehler
gern
inhalt
kalender
kommentar
listen
mode
script
show
variable
zeile
-
Mahlzeit^^
Ich w?rde meine Seite oder besser gesagt Teile gerne includieren und zwar auf folgende Weise:
URL.de/index.php?head=xyz.php&content=abc
f?r "xyz" br?uchte ich derzeit nur eine Variable, da ich nur einen Head-Teil includieren muss, aber f?r "abc" m?ssen ja (in meiner kleinen Welt^^""") verschiedene Variablen eingesetzt werden (z.B. Home, Guestbook, News,...)
Ich habe gelesen, dass ich mir eine Variablen Liste ?ber ein htm-Dokument zusammenschustern kann, ich habe aber leider keine Ahnung wie das aussehen muss.
Ich hoffe, man kann verstehen, was ich meine und ihr k?nnt mir helfen^^
/EDIT/
Bei mir tun sich grad wieder Abgr?nde auf -.-"" Ich hab noch ein Problem -> bitte mal gaaaaaaaaanz ans Ende des Threads schauen ^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also ich habe das mit einem switch gel?st...
einfach
<?php
switch($head)
{
case 'xyz': include ('adresse'); break;
}
du erstellst einfach f?r jede seite einen case und setzt dort den namen also wie es aufgerufen werden soll...zb. 'xyz' und bei dem include die adresse also /gb/index.php
und die adresse w?re dann so!
index.php?head=xyz wichtig!! ohne ".php" -
Hoi.
Sirseven's Art ist zwar die L?sung des Problems, doch es ist erstens Un?bersichtlich, und zweitens viel einfacher zu L?sen:
<?php
switch($head)
{
case 'xyz':
include ('adresse');
break;
}
?>
So ist es ?bersichtlicher, doch es geht auch einfacher:
<?php
if(file_exists($head.".php")) {
include ($head.".php");
}
else {
echo "FEHLER! Bitte kontaktieren Sie den Webmaster <a href="mailto:deine@mail.addy">hier</a>!";
}
?>
Wenn die Datei existiert (bsp.: "guestbook.php", "home.php", "galery.php", ... ==> Also immer $head + .php) wird die Datei ausgegeben (Immer $head + .php). Wenn sie nicht vorhanden wird, wird ein Fehlertext ausgegeben.
Liebe Gr??e,
Ballu -
Erst einmal danke f?r die Antworten *freu*^^
Ich h?tte vll. noch schreiben sollen, dass ich blutiger Anf?nger bin und mich mit dem Scripting eher m??ig auskenn *um Erkl?rungen bettel^^""""*
Korrigiert mich bitte, wenn ich falsch liege, aber ich dachte, dass mit "head=xyz" der Header (also der <head></head> Bereich bis zum Beginn des Textes) eingef?gt wird und mit "content=abc "der direkte Inhalt der Seite (das G?stebuch oder wie auch immer).
Die Datei, die die Variablen enth?lt soll dann quasi nur die "Container-Seite" sein, die alle (externen) Angaben zusammenf?gt (header, $content, footer,...)...
Oder bin ich da jetzt auf dem falschen Dampfer? -
blackangel- schrieb:
Erst einmal danke f?r die Antworten *freu*^^
Ich h?tte vll. noch schreiben sollen, dass ich blutiger Anf?nger bin und mich mit dem Scripting eher m??ig auskenn *um Erkl?rungen bettel^^''''*
Korrigiert mich bitte, wenn ich falsch liege, aber ich dachte, dass mit 'head=xyz' der Header (also der <head></head> Bereich bis zum Beginn des Textes) eingef?gt wird und mit 'content=abc 'der direkte Inhalt der Seite (das G?stebuch oder wie auch immer).
Die Datei, die die Variablen enth?lt soll dann quasi nur die 'Container-Seite' sein, die alle (externen) Angaben zusammenf?gt...
Oder bin ich da jetzt auf dem falschen Dampfer?
Ok...ich wusste nicht was du mit den Head machen willst!!
das w?rd ich einfach weglassen...das ist uninteressant...
einfach content=abc
und entweder mit meiner oder mit Ballus m?glichkeit...
Ich versteh nicht was du mit dem "Head" willst -
???????hhhhhm, um ganz ehrlich zu sein, ganz sicher bin ich bei dem "head" auch nicht ^^"" *sry*
Ich dachte, dass man quasi eine Template Datei hat, in der die Variablen $head und $content stehen. Das hei?t, dass sozusagen "entgegengesetzt" includiert wird. Du hast nicht die Datei mit dem Text/Inhalt und includierst header, men? und footer, sondern du hast das Template und includiesrt zus?tzlich zum header, men? und footer auch noch den eigentlichen Text ($content).
Ob das jetzt wirklich so funktioniert, wei? ich aber nicht so genau, da br?uchte ich vll auch noch mal eure Hilfe^^""""""""""" -
Hoi.
ACHSO!!! Na dann, einfach mal nen kleiner Script:
<html>
<head>
<?php
include("head.php"); // Head-Datei bleibt gleich, oder? "head.php" enth?lt die Header-Daten.
?>
</head>
<body>
<!-- Hier kommt dein Template-Start hin -->
<?php
if(file_exists($head.".php")) {
include ($head.".php");
}
else {
echo "FEHLER! Bitte kontaktieren Sie den Webmaster <a href="mailto:deine@mail.addy">hier</a>!";
}
?>
<!-- Hier kommt dein Template-Ende hin -->
</body>
</html>
Liebe Gr??e,
Ballu -
Und wie und wo definiere ich dann $head? Ich meine, wenn ich auf einen Link klicke, muss der Browser/das Prog ja wissen, zu welcher Seite genau ich m?chte... ich gebe dann ja nur head=guestbook an, aber nicht die konkrete Seite URL.de/Guestbook/index.php...
-
Mit dem head m?chtest du ja eigentlich nur sagen welcher Style oder so oder?
naja dann baust einfach eine if abfrage ein...
if($head == "1")
{
echo'balbal';
}
elseif($head == "2")
{
}
blabla
und das andere machst einfach mit dem switch...
hier nochmal: http://de.php.net/manual/de/control-structures.switch.php
und naja...der link schaut dann so aus...
index.php?content=gb&style=1 oder so!!
-
Hoi.
ACHSO!!! Na dann, einfach mal nen kleiner Script:
<html>
<head>
<?php
include("head.php"); // Head-Datei bleibt gleich, oder? "head.php" enth?lt die Header-Daten.
?>
</head>
<body>
<!-- Hier kommt dein Template-Start hin -->
<?php
if(file_exists($head.".php")) {
include ($head.".php");
}
else {
echo "FEHLER! Bitte kontaktieren Sie den Webmaster <a href="mailto:deine@mail.addy">hier</a>!";
}
?>
<!-- Hier kommt dein Template-Ende hin -->
</body>
</html>
Liebe Gr??e,
Ballu
sauber ballu....
w?rs nich auf lima k?nnte man die page kann einfach hacken O.o
wobei man das selbst auf lima kann, da ja nur die verbindung zu anderen servern verboten is, aber nich die auf dem gleichen server
also k?nnte man eine datei seiner wahl includen und dann nen bisschen rumspielen
aber dazu fragt ihr am besten chaosplanet
edit:
das ganze kann man so beheben
include(".".$_GET["head"]."");
oder mit ner switch abfrage -
K?nnt ihr mir vielleicht mal die Unterschiede der ganzen Systeme erkl?ren?
Ich hab wirklich nicht viel Ahnung von PHP, also eigentlich befass ich mich erst seit ein paar Tagen damit ^^""""""""""""""""""""" und kann daher die Befehle wohl einf?gen, w?rde sie aber trotzdem ganz gerne vorher verstehen (damit zum Beispiel nicht solche Sachen zustande kommen, wie von lucas9991 angesprochen^^")
Muss ich gar kein Dokument erstellen, in dem die Variable/n eingetragen sind, damit der Browser ?berhaupt wei?, wohin er muss?? DAs hab ich in einem Tut so gelesen
/EDIT/
Ahhhhhh ja, das switch dings ist also so eine Liste^^
Wenn ich jetzt <?php include("$content"); ?> includiere, wie genau muss ich dann den Befehl schreiben, der f?r mich den richtigen Content w?hlt und anzeigt? -
Damit man nicht jede beliebige Seite includen kann, sollte das Script so aussehen (oder?)
<?
echo "<html><head>";
switch($head)
{
case "xyz":
include ("headxyz.php");
break;
// dummdidumm
default:
echo "Fehler, kontaktieren Sie bitte den Webmaster usw. usw.....";
break;
}
echo "</head><body>";
switch($content)
{
case "guestbook":
include("guestbook.php");
break;
// dummdidumm
default:
echo "Fehler....";
break;
}
echo "</body></html>";
?>
-
Also switch ist wie eine menge von If-Abfragen...
so zum beispiel
if($mode == "gbook")
{
}
elseif($mode == "forum")
{
}
leichter zu l?sen mit switch:
switch($mode)
{
case 'gbook': include ('pfad'); break;
}
und den case einfach f?r jedes "Men?"
also Forum; G?stebuch oder so...
Ballus script verstehe ich leider nicht..!
-
komm hier
http://www.lima-city.de/tutorials?m=show&id=1275
extra geschrieben ;)
oh da war noch wer am werk ;)
http://www.lima-city.de/tutorials?m=show&id=1270
is aber meines erachtens nach komplizierter :) -
Oh danke^^ Durch das Tut wird mir schon einiges klarer^^ *freutz*
Muss ich das
case 'der_wert_von_$action':
include("welche seite soll includet werden?");
break;
und bedingt in die index.php setzen oder kann ich mir auch eine andere .php-Datei erstellen (z.B. Variablen.php) und diese dann einfach per include ich die index.php einf?gen? Sonst w?rde der Quelltext n?mlich ernorm lang ^^""" -
also die ganze Switch-Anweisung kann man auch in einer externen Datei speichern und ?ber beispielsweise ?ber die index.php includieren!
-
Mahlzeit^^
Ich hab das jetzt mal nach deinem Tut versucht, lucas, bekomm aber folgende Fehlermeldung^^"":
Parse error: parse error, unexpected '}' in /usr/export/www/vhosts/funnetwork/hosting/cat82/Hp/Neu/index2.php on line 8
Mein kompletter Code sieht gerade so aus:
<?php include("./header.php"); ?>
<?php include("./kalender.php"); ?>
<?php include("./affis.php"); ?>
<?php include("./menue.php"); ?>
<?php
if(!isset($_GET["content"])) { //wenn die variable action in der url nichts gesetzt ist, wird $action auf start
$content= "home"; gesetzt
} else{ // andernfalls wird der inhalt von $_GET["action"] $action zugewiesen
$content= $_GET["content"];
}
switch($content) {
case 'home': // wenn $action = start dann die startseite includen
include("Home.htm");
break; // die switch schleife abbrechen
case 'gb': // wenn $action = gb dann das G?stebuch includen
include("http://cat82.ca.funpic.de/Hp/Contact/gb/index.php");
break;
}
?>
<?php include("./footer.php"); ?>
Ich hab das action durch content ersetzt und das start durch home
Das sollte eigentlich keine Probleme geben oder?^^""
-
else {
versuchs mal mit Leerschlag (oder wie das heisst) nach dem else!
<?php
include("./header.php");
php include("./kalender.php");
php include("./affis.php");
php include("./menue.php");
if(!isset($_GET["content"])) { //wenn die variable action in der url nichts gesetzt ist, wird $action auf start
$content= "home"; gesetzt
} else
{ // andernfalls wird der inhalt von $_GET["action"] $action zugewiesen
$content= $_GET["content"];
}
// dummdidum
?> -
ich bekomm trotz des Umbruchs (oder so^^""") immer noch die selbe Meldung...
Ich hab in ZEile 8 jetzt nur noch
else {
stehen... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage