Haupt & Unterseiten in einem

Speedstick
Problembeschreibung:
Hallo ich habe nochmal eine Frage / Problem was ich nicht gelöst bekomme. Ich wollte jetzt eine Seite erstellen, die wie folgt aufgebaut ist. Habe eine Screen angehangen. Also ich habe eine Hauptseite und auf dieser Hauptseite habe ich jetzt 3 Links stehen die verlinkt sind wenn ich die URL aufrufe sieht der Link so aus meine.url.de/groupdesc.php?action=admins

Jetzt sollte er eigentlich in das andere Template springen, wo man dann die Infos zu diesem Link findet aber es passiert nichts, ich bleibe einfach auf der Hauptseite. Ich bin mir ganz sicher, das ich etwas falsch habe in meiner PHP.

der Code sieht so aus
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
if($action == "admins") {
	$admins = $db->query_first("SELECT groupdescription FROM bb".$n."_groups WHERE groupid=1");
	if ($admins[groupdescription] != "") {
        $admins[groupdescription].= "";
    }else{
       $admins[groupdescription] .= $admins[groupdescription]."<smallfont>Keine Gruppenbeschreibung eingetragen</font>";     
    }  
	eval("\$tpl->output(\"".$tpl->get("groupdesc_admin")."\");");
 }



Und jetzt weiß ich gerade nicht so wirklich weiter, kann mir einer einen Tipp geben?

LG

Fehlermeldung:
//

Link zum Forum und Screenshot (KEINE Bilderhoster, per Dateianhang):
Screen angehangen

Was wurde zuletzt geändert oder eingebaut?
Meine Grzuppenbeschreibung
Beckebans
Haste mal ne URL, damit man sich das live angucken kann?
Hangman
hast du es mal so getestet?... versuch mal


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
if($action == "admins") {
	$admins = $db->query_first("SELECT groupdescription FROM bb".$n."_groups WHERE groupid=1");
	if ($admins[groupdescription] != "") {
        $admins[groupdescription].= "";
    }else{
       $admins[groupdescription] .= $admins[groupdescription]."<smallfont>Keine Gruppenbeschreibung eingetragen</font>";     
    }  
}
eval("\$tpl->output(\"".$tpl->get("groupdesc_admin")."\");");
Speedstick
@Backebans: das wäre die URL klick bis jetzt haben nur der Adminlink diese Funktion

@Hangman: danke für die Hilfe aber hat sich leider nichts geändert mit deiner Idee / Versuch

Ich hab jetzt noch über
code:
1:
if($action == "admins") {


das hier eingefügt
code:
1:
2:
if(isset($_REQUEST['action'])) $action=$_REQUEST['action'];
else $action="admins";


weil ich dachte das wäre die Lösung aber leider nichts
Beckebans
Das, was du eingebaut hast macht nur, dass immer die admin Seite geladen wird, wenn man kein action= hat.

Kannste mal die normale tpl, die groupdesc_admin.tpl und die groupdesc.php hochladen?
Speedstick
Hier hochladen oder unbearbeitet un meinem Forum?
Beckebans
Hier reicht.
Speedstick
Okay bitte
Schrimm
Hallo,

php:
1:
2:
eval("\$tpl->output(\"".$tpl->get("groupdesc")."\");");
?>

Sieht alleinestehend nicht besonders gut aus.
Du rufst mittels "action" zwar deine "admin"-Seite auf, aber anschließend wird wieder die "normale" aufgerufen.

Die Datei "groupdesc.php" wird, auch wenn du ein "if" hast, dennoch bis zum Ende ausgeführt.
Soweit ich weiß führt "eval" nämlich keinen "break" durch.
Speedstick
Hallo,

mhhhhhhh, also muss das
code:
1:
eval("\$tpl->output(\"".$tpl->get("groupdesc")."\");");
unten weg damit mir das richtige Template dann angezeigt wird? Ich versuche zum erstenmal so eine Seite zu machen mit dem action deswegen sorry wegen blöden Fragen, wenn welche kommen von mir. Ich hatte mir jetzt die misc.php angeschaut aber wirklich weiter hat die mich jetzt leider nicht gebracht. unglücklich

LG
Beckebans
Richtig, beim eval wird es nicht abgebrochen.

Da wurde anscheinend erst das Admin Template ausgegeben und direkt danach das normale. php macht das nur so schnell, dass man das Admin garnicht erst gesehen hat.


Am einfachsten ist es, wenn du für jedes action einen einzelnen Bereich machst und alles aus dem Bereich am Ende per eval ausgibst. Der Teil am Anfang ist außerhalb eines action Bereiches. Dieser wird immer wenn die Datei aufgerufen wird abgearbeitet.

So würde das dann aussehen:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:

<?php
$filename="groupdesc.php";
require_once("./global.php");

$version "1.0";

if(isset($_REQUEST['action'])) $action=$_REQUEST['action'];
else $action="admins";

eval ("\$groupdesc_footer .= \"".$tpl->get("groupdesc_footer")."\";");

if($action == "admins") {

 ###### ANFANG GRUPPENBESCHREIBUNG ######
 $admins $db->query_first("SELECT groupdescription FROM bb".$n."_groups WHERE groupid=1");
 if($admins[groupdescription] != "") {
  $admins[groupdescription] .= "";
 } else {
  $admins[groupdescription] .= $admins[groupdescription]."<smallfont>Keine Gruppenbeschreibung eingetragen</font>";  
 }
 ###### ENDE GRUPPENBESCHREIBUNG ######
            
 ###### ANFANG AUFLISTUNG DER USERNAMEN ######
 $result $db->query("SELECT u.username, u.userid FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON u.groupid=g.groupid WHERE g.groupid=1 ORDER BY username ASC");
 while($row mysql_fetch_array($result)) {
  $username $row['username'];     
  $userid $row['userid'];
  if($username != "") {
   $username_admins .= "<a href=\"profile.php?userid=".$userid."&sid=".$session[hash]."\" target=_blank>".$username."</a><smallfont>,</font>";
  } else {
   $username_admins .= $username."<smallfont>Keine Gruppenmitglieder</font>";     
  }
 }
 ###### ENDE AUFLISTUNG DER USERNAMEN ######

 eval("\$tpl->output(\"".$tpl->get("groupdesc_admin")."\");");
}

if($action == "smods") {
 code...
}

if($action == "mods") {
 code...
}

if($action == "vampire") {
 code...
}

?>
Speedstick
AHA! Ich glaube jetzt habe ich es verstanden smile ich werde es mal probieren, Danke!