Session variablen sind weg

snackx

Mitglied
Hallo
kann mir jemand sagen warum meine SESSION Variablen nicht übergeben werden?
#### 1te Datei ####
<?
session_start();
include("../conf.inc.php");
require("function.php");
?>
<form method="post" action="hersteller.php" target="hersteller">
<?
echo $kopf;
$sql="SELECT DISTINCT product FROM labelfinder ORDER BY product";
$query=safe_query($sql);
echo "<select name=\"product\">\n";
echo "<option value=\"\"></option>";
while($row=mysql_fetch_array($query))
{
$product=$row["product"];
echo "<option value=\"$product\">";
product_name($product);
echo "</option>\n";
}
echo "</select>\n";
?>
</td>
<td><input type="submit" value="Go" name="prod"></td>
</tr>
</form>
</table>
##### Ende 1 Datei ####

##### Start 2 Datei #####

<?
session_start();
include("../conf.inc.php");
require("function.php");
?>
<form method="post" action="library.php" target="library">
<?
if(isset($prod))
{
echo $kopf;
$sql="SELECT DISTINCT hersteller, hersteller_nr FROM labelfinder WHERE product='$product' ORDER BY hersteller_nr";
$query=safe_query($sql);
echo "<select name=\"hersteller\">\n";
echo "<option value=\"\"></option>\n";
while($row=mysql_fetch_array($query))
{
$hersteller=$row["hersteller"];
$hersteller_nr=$row["hersteller_nr"];
echo "<option value=\"$hersteller_nr\">$hersteller</option>\n";
}
echo "</select>\n";
echo "</td>";
echo "<td><input type=\"submit\" value=\"Go\" name=\"firma\"></td>";
echo "</tr>";
echo "</table>";
}
?>
</form>

#### Ende 2te Datei ####

#### Start 3te Datei ####

<?
session_start();
include("../conf.inc.php");
require("function.php");
?>
<form method="post" action="label.php" target="label">
<?
if(isset($firma))
{
print_r(get_defined_vars());
echo $kopf;
$sql="SELECT id, library FROM labelfinder WHERE hersteller_nr='$hersteller' ORDER BY library";
$query=safe_query($sql);
echo "<select name=\"library\">\n";
while($row=mysql_fetch_array($query))
{
$id=$row["id"];
$library=$row["library"];
echo "<option value=\"$id\">$library</option>\n";
}
echo "</select>\n";
echo "</td>";
echo "<td><input type=\"submit\" value=\"Go\" name=\"lib\"></td>";
echo "</tr>";
echo "</table>";
}
?>
</form>

#### ENDE ####

es wird jedesmal nur die Variable der letzen Datei übernommen?

Gruß & Danke

Dirk
 
setz die Session Variablen mal so: $_SESSION['varname'] = value;

PHP:
#### 1te Datei ####
<?
session_start();
include("../conf.inc.php");
require("function.php");
?>
<form method="post" action="hersteller.php" target="hersteller">
<?
echo $kopf;
$sql="SELECT DISTINCT product FROM labelfinder ORDER BY product";
$query=safe_query($sql);
echo "<select name=\"product\">\n";
echo "<option value=\"\"></option>";
while($row=mysql_fetch_array($query))
{
$_SESSION['product']=$row["product"];
$product=$row['product'];
product_name($product);
echo "<option value=\"$product\">";
echo "</option>\n";
}
echo "</select>\n";
?>
</td>
<td><input type="submit" value="Go" name="prod"></td>
</tr>
</form>
</table>
##### Ende 1 Datei ####

##### Start 2 Datei #####

<?
session_start();
include("../conf.inc.php");
require("function.php");
?>
<form method="post" action="library.php" target="library">
<?
if(isset($prod))
{
echo $kopf;
$product = $_SESSION['product'];
$sql="SELECT DISTINCT hersteller, hersteller_nr FROM labelfinder WHERE product='$product' ORDER BY hersteller_nr";
$query=safe_query($sql);
echo "<select name=\"hersteller\">\n";
echo "<option value=\"\"></option>\n";
while($row=mysql_fetch_array($query))
{
$hersteller=$row["hersteller"];
$hersteller_nr=$row["hersteller_nr"];
$_SESSION['hersteller']=$row["hersteller"];
echo "<option value=\"$hersteller_nr\">$hersteller</option>\n";
}
echo "</select>\n";
echo "</td>";
echo "<td><input type=\"submit\" value=\"Go\" name=\"firma\"></td>";
echo "</tr>";
echo "</table>";
}
?>
</form>

#### Ende 2te Datei ####

#### Start 3te Datei ####

<?
session_start();
include("../conf.inc.php");
require("function.php");
?>
<form method="post" action="label.php" target="label">
<?
if(isset($firma))
{
print_r(get_defined_vars());
echo $kopf;
$hersteller = $_SESSION['hersteller'];
$sql="SELECT id, library FROM labelfinder WHERE hersteller_nr='$hersteller' ORDER BY library";
$query=safe_query($sql);
echo "<select name=\"library\">\n";
while($row=mysql_fetch_array($query))
{
$id=$row["id"];
$library=$row["library"];
echo "<option value=\"$id\">$library</option>\n";
}
echo "</select>\n";
echo "</td>";
echo "<td><input type=\"submit\" value=\"Go\" name=\"lib\"></td>";
echo "</tr>";
echo "</table>";
}
?>
</form>

vielleicht hilfts...

Gruss
Snaker
 
Wenn du nicht mit Cookies arbeitest, bzw die Übergabe der PHPSESSID per Cookie aktiviert ist, musst du diese extra übergeben, in deinem Formular beispielsweise als Hiddenfeld:

echo "<input type=\"hidden\" name=\"PHPSESSID\" value=\"".session_id()."\" />";

ansonsten prüfe doch mal durch die Ausgabe von echo session_id(); nach jedem session_start(); in jeder Datei, ob die Session ID überhaupt identisch ist. Wenn nein musst du diese wie gesagt manuell übergeben.
 
ich habs

danke snaker hast mich auf den richtigen Weg gebracht

ich speichere die übergebene Variable auf der nächsten Seite nochmals als
$_SESSION["varname"]=$var ab.

Vielen Dank für den anschubser

:p

Gruß
Dirk
 
Zurück