OptionArray ist Leer[geloest]

  • Themenstarter Themenstarter sw33tlull4by
  • Beginndatum Beginndatum
S

sw33tlull4by

Guest
Hi!
Nachfolgender Code verhaelt sich komisch.
PHP:
<?php
	function generating_page()
	{
			$optionarray = $_SESSION['useroption'];
			$role = $_SESSION['role'];
			$options = $optionarray[$role];
			$mapper =$_SESSION['mapper'];
			$stuff = $_SESSION['stuff'];
		if($stuff == NULL)
			include('choosing_stuff.php');
		else
		{
			print '<html>
				<head>
					<title>Interface</title>
				</head>
				<body>
					<form name="input" method="post" action="executing.php">';
		
			$userchoice =" ";
			foreach($options as $element)
				$userchoice = $userchoice.'<input type="radio" name="group1" value="'.$mapper[$element].'">'.$element.'<br>';
			print $userchoice;						
			print '<input type="submit" name="submit" value="submit">		
				</form>			
				</body>
				</html>';
		}
	}
?>
Wenn ich bei der Ifabfrage false einsetze, dann bekomme ich mein Menue.
$options enthaelt Eintraege die die Radionbuttons betiteln, und $mapper enthaelt die dazugehoerigen Funktionsnamen.
$option ist ein Array und $mapper ein assoziativer Array.
Wenn ich aber erst was auswaehlen mussbekomme ich kein Menue sondern nur den Submitbutton.
choosing_stuff.php generiert nur eine HTML-Seite(wollte das unabhaengig von der Serverid machen,weswegen ich auf header() verzichtet habe).
Wenn ich hier session_start() aufrufe kommt ein Projekt zum stillstand.

PHP:
<?php
	print '
	<html>
	<head>	
		<title>Sachen auswaehlen</title>
	</head>
	<body>
		<form method="post" action="changing_stuff.php">
			Stuff:<input type="text" name="stuff"><br>
			<input type="submit" value="submit" name="submit">
		</form>
	</body>
	</html>';
?>


choosing_stuff ruft auf:
PHP:
<?php
	require_once("generator.php");
	require_once("DB.php");
	
	print "hallo";
	$stuff = $_POST['stuff'];
	
	if($stuff =="")
		include("choosing_stuff.php");
	else
	{
		$dbuser = $_SESSION['dblogin'];
		$dbpass = $_SESSION['dbpass'];
		$dbhost = $_SESSION['dblogin'];
		$dbtable = $_SESSION['dbtable'];
	
		$conn_id = new mysqli($dbhost,$dbuser,$dbpass);
			//die("Die Sache  gibt es nicht")
			
		if(mysqli_connect_errno())
			print "hier haben wir den fehler";
		print $conn_id->errno;
		if($conn_id->errno != 0)
			include("choosing_lecture.php");
		else
		{
			$_SESSION['stuff']=$stuff;
			$_SESSION['dbtable'] = $stuff;
			generating_page();
		}
	}
?>
Und changing_stuff.php funktioniert, da ich das print "hallo" noch auf der Ausgabe oberhalb des Submitbuttons bekomme,bis auf den Zugriff auf $_SESSION, aber wenn ich
session_start einfuege funktioniert mein Projekt nicht mehr.

Meine Frage ist nun:
Was laeuft in generator.php falsch das es mit if(false)... funktioniert aber mit der normalen Abfrage nicht bzw was ist in changing_stuff.php faul?
mfg

sw33t
 
bekommst du eine fehlermeldung oder notice in dein error log?
"funktioniert nicht mehr" kann vieles heisen gg
 
bekommst du eine fehlermeldung oder notice in dein error log? "funktioniert nicht mehr" kann vieles heisen gg
Hmpf!
Danke, sonst waere ich noch dumm gestorben.
Ich habe bis dato immer mittels php -f meine PHPskripte debuggt.

Das Apache evtl mehr als nur seine eigenen Fehler und Zugriffe aufzeichnet ist mit gar nicht in den Sinn gekommen.
Der Fehler war einfach das ich aus dem $_SESSION[]-Array eine Variable falsch ausgelesen habe.
-.-*

mfg

sw33t
 
Zurück
Oben