Hallo ich habe folgendes Problem:
Wenn das Programm zu dem elseif teil kommt wo submit = Rechte Speichern ist kommt folgende Fehler meldung "Undefined index: test"
aber die habe ich doch im vorherigen formular in der Session gespeichert.
Zur kontrolle habe ich mir auch immer das die Werte von $_SESSION ausgeben lassen.
Da ist dann auch wie erwartet test nicht vorhanden aber die anderen 2 Einträge ID und IP von vorher sind immer noch gespeichert (holt er sich vorher). Habe ich irgendetwas vergessen zu beachten? Suche den Fehler schon einige Tage verzweifel noch das Forum hier habe ich auch schon nach Lösungen untersucht, kam leider auch nicht weiter.
Würde mich sehr über hilfe freuen.
Wenn das Programm zu dem elseif teil kommt wo submit = Rechte Speichern ist kommt folgende Fehler meldung "Undefined index: test"
aber die habe ich doch im vorherigen formular in der Session gespeichert.
Zur kontrolle habe ich mir auch immer das die Werte von $_SESSION ausgeben lassen.
Da ist dann auch wie erwartet test nicht vorhanden aber die anderen 2 Einträge ID und IP von vorher sind immer noch gespeichert (holt er sich vorher). Habe ich irgendetwas vergessen zu beachten? Suche den Fehler schon einige Tage verzweifel noch das Forum hier habe ich auch schon nach Lösungen untersucht, kam leider auch nicht weiter.
Würde mich sehr über hilfe freuen.
PHP-Code:
case 'edit':
else
{
echo session_id();
$_SESSION['test'] = $_POST['test']; //Die UserID in der Session speichern
print_r($_SESSION);
$rights = getRights($_SESSION['test']); //Die Rechte vom User holen
$sql = "SELECT
Name
FROM
users
WHERE
ID = '".$_SESSION['test']."';";
$result = mysql_query($sql) OR die(mysql_error());
$Name = mysql_result($result, 0);
echo "<form action=\"index.php?section=admin&site=user&action=edit\"\n";
echo " method=\"post\" class=\"formular\">\n";
echo " <p>\n";
echo " <b>Benutzer ".$Name." bearbeiten</b>\n";
echo " </p>\n";
echo " <ol>\n";
echo " <li>\n";
echo " Rechte:\n";
sort($allRights);
echo " <ul>\n";
foreach($allRights as $value)
{
echo "<li>\n";
echo " <input id=\"".$value."\" type=\"checkbox\" name=\"rights[]\"";
if(in_array($value, $rights))
{
echo "checked=\"checked\"";
}
echo "value=\"".$value."\" />\n";
echo " <label for=\"".$value."\">".$value."</label><br />\n";
}
echo " </ul>\n";
echo " </li>\n";
echo " <li>\n";
echo " <input type=\"submit\" name=\"submit\" value=\"Rechte speichern\" />\n";
echo " <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
echo " <input type=\"hidden\" name=\"".session_name()."\" \n";
echo " value=\"".session_id()."\" />\n";
echo " </ol>\n";
echo "</form>\n";
echo "<p>\n";
echo " <a href=\"index.php?section=admin&".SID."\">\n";
echo " Zurück zum Adminbereich\n";
echo " </a>\n";
echo "</p>\n";
}
}
elseif(isset($_POST['submit']) AND "Rechte speichern" == $_POST['submit'])
{
if(!isset($_POST['rights']))
{
echo "<p class=\"error\">\n";
echo " Sie müssen mindestens ein Recht angeben.\n";
echo "</p>\n";
}
else
{
echo session_id();
print_r($_SESSION);
$sql = "DELETE FROM
user_rights
WHERE
UserID = '".$_SESSION['test']."';";
mysql_query($sql) OR die(mysql_error());
// alle vorhanden Rechte löschen
// und nun die angewählten hinzufügen
foreach($_POST['rights'] as $right)
{
$sql = "INSERT INTO
user_rights(UserID, Recht)
VALUES
('".$_SESSION['test']."',
'".$right."');";
mysql_query($sql) OR die(mysql_error());
}
echo "<p>\n";
echo " Die Rechte wurden gespeichert.\n";
echo "</p\n";
echo "<p>\n";
echo " <a href=\"index.php?section=admin&".SID."\">\n";
echo " Zurück zum Adminbereich\n";
echo " </a>\n";
echo "</p>\n";
}
}
break;
Kommentar