ACP erweitert

#AHBL
Dies ist eine vorgefertigte Schablone.
Bitte fülle soviel aus, wie dir nur Möglich ist, du kannst auch gerne noch mehr Angaben machen.


Problembeschreibung:
Hallo ich wollte mein ACP erweitern mit der Möglichkeit Informationen einzutragen die dann auf der Startseite angezeigt wird. Nun ja jetzt habe ich das Problem das es alles einträgt aber das ich es nicht mehr bearbeiten kann wenn da neue Infos rein sollen. Den wollte das ganze jetzt nicht über das Template view/viewbit steuern sondern gerne wenn ich diesen Link wo ich es eintrage auch dort wieder bearbeiten kann. Nur weiß ich nicht wie ich das lösen kann da ich bei diversen PHPs die ich mir angeschaut habe es immer nur über ein view/viewbit Template gelöst ist.

Mein Code sieht so aus:
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:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
require("./global.php");
isAdmin();

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

if($_GET['action']=="infos"){

$result $db->query("SELECT * FROM bb".$n."_infos");
  while($row=$db->fetch_array($result)) 
   {
    if($row['id']==1) 
     {
    $freigabe $row['freigabe'];
    $art $row['art'];
    $system $row['system'];
    $jahr $row['jahr'];
    $ort $row['ort'];
    $charaktere $row['charaktere'];
    $verboten $row['verboten'];
     }
   }

    $freigabe $_POST['freigabe'];
    $art $_POST['art'];
    $system $_POST['system'];
    $jahr $_POST['jahr'];
    $ort $_POST['ort'];
    $charaktere $_POST['charaktere'];
    $verboten $_POST['verboten'];

          if (empty($freigabe) && $freigabe!==0)
    {
         $freigabe $freigabe;
    }

    if (empty($art) && $art!==0)
    {
         $art $art;
    }

    if (empty($system) && $system!==0)
    {
         $system $system;
    }

    if (empty($jahr) && $jahr!==0)
    {
         $jahr $jahr;
    }

    if (empty($ort) && $ort!==0)
    {
         $ort $ort;
    }

    if (empty($charaktere) && $charaktere!==0)
    {
         $charaktere $charaktere;
    }

    if (empty($verboten) && $verboten!==0)
    {
         $verboten $verboten;
    }

  $db->query("INSERT INTO  bb".$n."_infos (id,freigabe,art,system,jahr,ort,charaktere,verboten) 
VALUES('NULL','".addslashes($freigabe)."','".addslashes($art)."','".addslashes($system)."','".addslashes($jahr)."','".addslashes($ort)."','".addslashes($charaktere)."','".addslashes($verboten)."')");
  
  eval("print(\"".gettemplate("infos")."\");");

}


Liebe Grüße

Fehlermeldung:


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


Was wurde zuletzt geändert oder eingebaut?
mkkcs
Du solltest es vielleicht damit probieren, die Anzeige und das Speichern mit einer Extra-Abfrage abzufragen, und nicht alles aufeinmal mit einer $action!

sprich

code:
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:

... 

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


if($action == "anzeige") {
..
hier der Code zum Anzeigen
..
}
if($action == "speichern") {
..
hier der Code zur Fehlerermittlung (Fehleingaben etc.)
wenn Fehler dann Aufruf der Bearbeitungsmaske und dann ein 
exit();

wenn alles OK
dann hier der Code zum Speichern
und ein Dateiaufruf mit Exit zur Anzeige der Daten
  header("Location: deineinfodatei.php?sid=$session[hash]");
  exit();
}


oder Du kannst auch einen Weg nehmen, wo Du eine INPUT-Feld (hidden) definierst, wo es das Feld send definierst, und dies dann beim absenden mitgeliefert wird, und dann mit einer
$_POST['send']=="send"-Abfrage das Fehler abfangen/Abspeichern abarbeitet,
und dies dann vor der Anzeige, die ein Formular ist, voranstellt.

für Beispiele kannst Du fast jede im ACP-Verzeichnis vorhandene PHP-Datei mal anschauen.