Variablen aufruf nach Include

Hallo zusammen

Ich stehe momentan bei einem Problem an und kann mir irgendwie nicht weiterhelfen. Google wusste auch nichts.. :D besser gesagt ich habe nichts gefunden.

Hier mein Problem.

Ich habe eine Index.php Seite diese bekommt eine Variable Namens User_ID zugeteilt.
Mit dem Befehl $userid = $_GET['User_ID'] lese ich diese dann in eine Variable. Funktioniert auch ohne Probleme.

Nun habe ich noch eine Switch Case Anweisung erstellt. Dort drin steht ein einfacher Include Befehl, der auf eine andere PHP Seite verweist. Nun möchte ich dort gerne die Variable $userid auch haben. Nur kann ich darauf nicht zugreifen.

Ich dachte, da es ein Include ist, wird man diese auf der anderen PHP Seite einfach über echo $userid ausgeben können. Dem ist aber leider nicht so.

Für jede Hilfe wäre ich dankbar.

index.php:
Code:
<?php ob_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
	<link rel="stylesheet" type="text/css" href="../CSS/design_game.css">
</HEAD>

<BODY>
<div id="inhalt">
	<div id="navigation_top">
	</div>
	
	<div id="navigation_left">
		<a href="index.php?section_g=hangar">Hangar</a>
	</div>
	
	<div id="navigation_bottom">
	</div>
	
	<div id="navigation_center">
		<?php
		$userid = $_GET['User_ID'];
		switch($_GET['section_g'])
		{
			CASE hangar :
			include ("include/hangar.php");			
			BREAK;
		}
		?>
	</div>
	
</div>

</BODY>
<?php ob_end_flush(); ?>

hangar.php:
Code:
<?php
$test = "Hallo";
echo "HOI";
echo $userid;
echo $test;
?>
 
hallo,

probiers mal so:

PHP:
switch($_GET['section_g'])
{
  CASE "hangar":
  include ("include/hangar.php");            
  break;
}
 
mach doch mal
PHP:
print_r($_GET);
und schau ob da bei dir überhaupt was drinsteht, wenn ja poste mal den output....
 
Es ist so, dass auf der Index.php der Wert $userid ohne Probleme ausgegeben werden kann. Nur sobald ich ein include mache, ist es mir nicht mehr möglich auf diese Variable zuzugreifen. Muss ich diese im Include speziell übergeben ? Ich dachte ein Include fügt einfach an dem Punkt wo das Include steht die includierte Seite ein. Der Code oben und unten bleibt?

Wo soll ich die print_r($_GET); reinhauen?

Vielen Dank
 
Ich bin nun einen Schritt weitergekommen. Der Fehler war, dass er mir die Variable immer wieder überschrieben hat. Zuerst hatte er den richtigen Wert, dann wurde er mit einem "" überschrieben.
Nun meine Frage: Kann ich der Variable irgendwie mitteilen, dass der Wert nach dem ersten mal befüllen, nicht mehr geänder werden darf?

Danke
 
Hi,

versuch mal folgendes:
PHP:
		<?php
        if( !isset( $userid ) )
        {
            $userid = $_GET['User_ID'];
        }
		switch($_GET['section_g'])
		{
			CASE hangar :
			include ("include/hangar.php");			
			BREAK;
		}
		?>
 
Hi,

versuch mal folgendes:
PHP:
		<?php
        if( !isset( $userid ) )
        {
            $userid = $_GET['User_ID'];
        }
		switch($_GET['section_g'])
		{
			CASE hangar :
			include ("include/hangar.php");			
			BREAK;
		}
		?>

Leider immer noch nicht. Kann mir das nicht erklären.. Wenn ich folgendes eingebe:
PHP:
		<?php
        if( !isset( $userid ) )
        {
            $userid = $_GET['User_ID'];
        }
$test = "HALLO";
echo $userid;
		switch($_GET['section_g'])
		{
			CASE hangar :
			include ("include/hangar.php");			
			BREAK;
		}
		?>

Dann kann ich die Variable $test, im anderen File aufrufen und ausgeben. Auch die Zeile echo $userid wird im index.php ausgeben, aber nicht auf der includierten Seite..

Hilffeeeee
 
Zurück