show.php?act=0 Problem ?

PC Freak

Erfahrenes Mitglied
Ich hab mir grad den workshop durchgelsen:

http://www.piranho.com/home/worksho...3bb28eb978289e0560118de&cat1=1&cat2=4&id=2430

und das natürlich gleich ausprobiert ;->

hoffe ich hab es richtig gemacht:

show.php

<?PHP include ("switch.php");
switch ($variable) {
case "argument 1":
code
} ?>

switch.php

<?
$act = $_GET['act'];

if ($act == "") {
$act = 0;
}

if(!isset($_GET["act"]))
{
$_GET["act"]=0;
}

switch ($act) {
case "0":
include ("datei0.php");
break;
case "1":
include ("datei1.php");
break;
...
default:
include ("dateidefault.php");
break;
}

?>

Problem:

Wenn ich jz z.b. http://www.compu-zone.de/show.php?act=0 aufrufe kommt folgende Fehlermeldung:

Parse error: parse error, unexpected '}' in /usr/export/www/vhosts/funnetwork/hosting/pcfreak/show.php on line 489

Was ist das Problem ? Was muss ich machen Vielen Dank
 
eingebunden im template ist die zeile mit der roten roten schrift die zeile 489:

<?PHP include ("switch.php");
switch ($variable) {
case "argument 1":
code
} ?>

der rest der seite also der ganze code ist egtl ganz okay hab auch sonst immer alles includen können, nur die zeile macht probleme
 
Ich würde sagen, da fehlt ein Semkolon hinter "code":
PHP:
<?PHP include ("switch.php"); 
switch ($variable) { 
case "argument 1": 
code;
} ?>

redlama
 
cool danke klappt .... aber nicht ganz ^^

es öffnet sich egal ob man show.php?act=0 show.php?act=1 show.php?act=2 oder ne andere zahl hinter cat. eingibt immer datei0.php obwohl ich im switch quelltext folgendes geschrieben habe:

case "1":
include ("datei1.php");
break;

woran liegt das ?
heute klappt echt garnichts bei mir :-)
 
Wenn $act einen nummerischen Wert enthält (0 bis n), wie wäre es statt switch damit:
PHP:
$dateiname = "datei".$act.".php";
include($dateiname);

redlama
 
ich hab zwar jetzt nicht zu 100 % verstanden wo du meinst ich solle switch ersetzen aber ich habs mal in der show.php datei gemacht und es wurde wieder immer die gleiche seite aufgerufen
 
Heute bin ich mal großzügig. Hier, bitte schön:
PHP:
switch($page)
{
case "index": include("./welcome.php"); break;
case "news": include("./news/index.php"); break;
case "guestbook": include("./guestbook/index.php"); break;
case "guestentry": include("./guestbook/entry_db.php"); break;
case "contact": include("./contact.php"); break;
case "impressum": include("./impressum.php"); break;
case "links": include("./links.php"); break;

default: include("./welcome.php"); break;
}

Das funktioniert. Wie es funktioniert müsste ja klar sein.
 
Voggi hat gesagt.:
Heute bin ich mal großzügig. Hier, bitte schön:
PHP:
switch($page)
{
case "index": include("./welcome.php"); break;
case "news": include("./news/index.php"); break;
case "guestbook": include("./guestbook/index.php"); break;
case "guestentry": include("./guestbook/entry_db.php"); break;
case "contact": include("./contact.php"); break;
case "impressum": include("./impressum.php"); break;
case "links": include("./links.php"); break;
 
default: include("./welcome.php"); break;
}

Das funktioniert. Wie es funktioniert müsste ja klar sein.
hört sich jetzt vielleicht mehr als dumm an aber ich versteh es nicht
bin ganz durcheinander und weiss jetzt garnicht was ich wo und wie ändern muss ... wenn ich damit die switch ändere wo auch immer (kann es mir nur vorstellen) muss ich dann nicht auch die show.php datei ändern ? wenn ja wie usw ?

sorry für die ziemlich dumme frage ... bin ganz ehrlich schon ziemlich durcheinander da ich soviele probleme heute habe und ich auch kaum php wissen hab bzw. garkein^, aber dieses verdammte script brauche

aufjedenfall, auch wenn du schon keine lust mehr hast und garnicht mehr postest danke für die bisherige hilfe ;->
 
Versuch doch mal das hier (nur als Test):
PHP:
$dateiname = "datei".$act.".php"; 
print "act = $act<br>";
print "dateiname = $dateiname<br>";
Was gibt er Dir da als Ergebnis?

redlama
 
Zurück