kocs: formular-daten mit $_SESSION übertragen

Beitrag lesen

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