Kontrolliere bitte die Einstellungen zum Anzeigen von Fehlern in der phpinfo()-Ausgabe. display_errors sollte eingeschaltet sein und das error_reporting am besten auf E_ALL.
Ein session_start() muss (ebenso wie header() oder setcookie()) vor jeglicher Ausgabe stehen. Alles außerhalb der <?php ?>-Bereiche ist ebenfalls Ausgabe. Dazu zählen auch Leerzeichen, die man nicht direkt sieht. Das session_start() muss demzufolge nicht nur vor dem Formular sondern vor allem HTML-Code stehen.
also, ich habe die fehlermeldung aktiviert und die formular.php entsprechend geändert:
<?php
session_start();
$_SESSION["variable"] = "Ich bin in einer Session-Datei gespeichert.";
$_SESSION["variable2"] = "Ich bin in einer Session-Datei 2 gespeichert.";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body>
<form action="formular-werte.php" method="POST" name="form_php" target="_blank" class="php_formular">
<input type="hidden" name="PHPSESSID" value="<?php echo substr(SID, strpos(SID, '=') + 1); ?>">
<input type="text" name="input_php" id="ident" value="Eintrag">
<input type="submit" value="test-submit">
</form>
</body>
</html>
nach abschicken dieses formulars erscheint nun auch keine fehlermeldung mehr.
wenn ich nun aber den hyperlink in formular-werte.php betätige, erscheint die fehlermeldung:
"Notice: Undefined index: input_php in formular-werte.php"
dies geschieht gerade in der zeile, in der
"$input_php = $_POST['input_php'];" steht und anschließend "$_SESSION["input_php"] = $input_php;". es gibt anscheinend also ein problem mit der weitergabe des formular-text-inputs per "$_POST['input_php']". wie kann das sein? ich finde irgendwie keinen ansatz, das zu lösen.
aussehen der formular-werte.php:
<html>
<head></head>
<body>
<?php
session_start();
$session = $_SESSION["variable"];
echo "<h4>session-variablen-wert:</h4> $session ";
$session2 = $_SESSION["variable2"];
echo "<h4>session-variablen-wert2:</h4> $session2 ";
$input_php = $_POST['input_php'];
$_SESSION["input_php"] = $input_php;
$input_php2 = $_SESSION["input_php"];
echo "<h4>input_php:</h4> $input_php2 ";
$sid2 = session_id();
echo "<h4>php-session-id--php-func:</h4> $sid2 ";
/*$_SESSION["phpsess_id"] = $_POST['PHPSESSID'];
$sid = $_SESSION["phpsess_id"];
echo "<h4>php-session-id-post:</h4> $sid ";*/
?>
<br><a href="formular-werte.php?<?php echo 'PHPSESSID=';echo $sid2; ?>" target="blank">test</a>
</body>
</html>
dabei habe ich hier auch schon versucht, session_start() vor jegliche ausgabe zu schreiben. auch das hat nichts genutzt.
danke schon mal für die bisherige und hoffentlich weitere hilfe