Ich habe einen $action switch in meiner Datei, diese Datei included eine andere .php Datei von einem anderen Ordner. In der includeten Datei gibt es aber noch einen $action, wenn ich diesen aufrufe wird lediglich nur der default switch angezeigt, was kann ich da machen ?
switch
Collapse
X
-
Wir kennen doch deinen Code nicht, es fällt leichter Probleme zu lösen wenn du uns den bereits vorhandenen Code oder Teile des Codes hier postest nutze dazu am besten noch den Tag [ php] [/ php] (ohne Leerzeichen) dann wird der code schön bunt und besser lesbar
Comment
-
Du kannst die Datei auch erst nach dem switch includen... Dann ändert sich $action erst nach dem switch hat allerdings nur einen neuen Wert wenn in der includeten Datei $action definiert wird ($action = 'Hello'; )
Allerdings solltest Du auf Variablennamen achten wenn Du Dateien includest. --> Keine DoppelbenennungenBeantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Comment
-
Original geschrieben von MelloPie
Du kannst die Datei auch erst nach dem switch includen... Dann ändert sich $action erst nach dem switch hat allerdings nur einen neuen Wert wenn in der includeten Datei $action definiert wird ($action = 'Hello'; )
Allerdings solltest Du auf Variablennamen achten wenn Du Dateien includest. --> Keine Doppelbenennungen
Comment
-
Das heisst Du kannst den switch vor dem includen machen da hat $action den alten Wert, dann bekommt $action durch includen evt. einen anderen Wert. Du kannst dann noch tausend weitere switchs machen.
Und Du darfst auch mal ein bisschen nachdenken.Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Comment
-
Ich zeige mal den eigentlichen Code. Im genauerem tritt der Fehler aus, beim Link zu den Details eines bestimmten Clanwars.
Das hier ist die im Rootverzeichnis liegende index.php:
PHP Code:<?
switch($action){
case "clanwars": include("clanwars/index.php"); break;
default: echo "<center>root directory</center>"; break; }
?>
PHP Code:<?
echo "<a href='index.php?action=clanwars'>Clanwars</a>";
?>
PHP Code:<?
echo "<a href='index.php?action=detail&warid=2'>Details</a>";
?>
Hier sind nochmal Switch-Auschnitte aus der index.php des Clanwars-Verzeichnisses (clanwars/index.php):
PHP Code:<?
if ($action == "" || $action == "viewall"){
?>
PHP Code:<?
}
elseif($action == "detail")
{
$query = "SELECT * FROM $war_tname WHERE warid='$warid'";
$war_result = mysql_query($query);
while ($data = mysql_fetch_array($war_result)) {
?>
Jetzt ist nur meine Frage wie ich das Problem lösen kann ? Wäre nett wenn mir jemand weiterhelfen könnte, was ich denn tun kann.
Comment
-
du rufst bei nem klick auf den linkCode:<a href='index.php?action=detail&warid=2'>Details</a>
lösung:PHP Code:switch($action)
{
case "detail":
case "clanwars": include("clanwars/index.php"); break;
default: echo "<center>root directory</center>"; break;
}
Ich denke, also bin ich. - Einige sind trotzdem...
Comment
-
in der clanwars/index.php prüfst du doch auch, was für nen wert $action hat oder?
wie sieht die prüfung aus, du hast ja wahrsceinlich noch was vorPHP Code:elseif($action == "detail")
Last edited by mrhappiness; 08-03-2003, 10:59.Ich denke, also bin ich. - Einige sind trotzdem...
Comment
-
Also in der clanwars/index.php steht nach
PHP Code:<?
}
elseif($action == "detail")
{
$query = "SELECT * FROM $war_tname WHERE warid='$warid'";
$war_result = mysql_query($query);
while ($data = mysql_fetch_array($war_result)) {
?>
PHP Code:<?
}
}
?>
Comment
-
Original geschrieben von mrhappiness
in der clanwars/index.php prüfst du doch auch, was für nen wert $action hat oder?
wie sieht die prüfung aus, du hast ja wahrsceinlich noch was vorPHP Code:elseif($action == "detail")
Ich denke, also bin ich. - Einige sind trotzdem...
Comment
Comment