Hallo zusammen,
ich habe 2 Skripte:
(1) loeschen.php
<?php
session_start();
include("../../../files/mysqlzugangsdaten.php");
$mysqli = new mysqli($host, $benutzer, $passwort, $db);
$_SESSION['systemmeldung'] = 'Bane';
echo '1<br />';
// ÜBERPRÜFEN DER ID, DIE GELOESCHT WERDEN SOLL
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {$_SESSION['systemmeldung'] = 'Die ID zum Löschen des Kunden ist ungültig!'; header("Location: kunden_verwalten.php"); exit();}
echo '2<br />';
// VERBINDUNG ZUR DATENBANK AUFBAUEN
if (mysqli_connect_errno()) {$_SESSION['systemmeldung'] .= 'SQL Verbindung konnte nicht aufebaut werden.<br />'.mysqli_connect_error(); header("Location: kunden_verwalten.php"); exit();}
echo '3<br />';
$id = $mysqli->real_escape_string($_GET['id']);
$sql = "DELETE FROM kunden WHERE id=? LIMIT 1;";
if ($stmt = $mysqli->prepare($sql))
{
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->close();
$mysqli->close();
$_SESSION['systemmeldung'] .= 'Kunde wurde erfolgreich gelöscht!.<br />';
}
else {
$mysqli->close();
$_SESSION['systemmeldung'] .= 'Prepared Statement zum Löschen des Kunden konnte nicht ausgeführt werden!<br />';
}
$_SESSION['systemmeldung'] .= 'Hallo!<br />';
echo 'HALLO!'.$_SESSION['systemmeldung'];
header("Location: kunden_verwalten.php"); exit();
?>
(2) kunden_verwalten.php
[...]
<?php
session_start(); // SETZE ICH SCHON GANZ OBEN AUF DER SEITE. HAB ICH NUR VOLLSTÄNDIGKEITSHALNBER DRIN
echo 'HALLO BÄR!'.$_SESSION['systemmeldung'];
// AUSGEBEN DER SYSTEMMELDUNG
if (isset($_SESSION['systemmeldung']) && !empty($_SESSION['systemmeldung'])) {echo '
<div class="inhalt">
<h1>Systemmeldung:</h1>
<p>'.$_SESSION['systemmeldung'].'<p>
</div>
'; unset($_SESSION['systemmeldung']);}
?>
[...]
Nun, das Löschen Skript funktioniert super, wenn ich es einzeln aufrufe, bekomme ich auch alle Debugging Infos angezeigt. Nur die SESSION['systemmeldung'] nimmt er nicht mit auf die verwalten Seite. Warum ist das so? Mach ich was falsch? Liegt es am Server?
Lg, der Dirk.