Wert aus anderen php Datei uebernehmen?

Hi zusammen,

ich habe folgenden Code geschrieben um ein dropDown Menu zu erstellen.
Nach der Auswahl eines Produkts soll der User auf die naechste Seite kommen wo er wieder ein DropDown vorfindet aus dem er einen anderen Wert auswaehlen soll. Ich moechte aber dass der zweite DropDown nur Werte anzeigt die sich auf die Auswahl des ersten Users beziehen.
Wie krieg ich den Wert der den User beim 1. DropDown gewahlt hat in die zweite php Seite mit eingebunden? Ich hab folgenden SELECT ausgefuehrt aber das Ergebniss fuehrt mich immer auf mein "Sorry there are no languages in the database yet".

Danke im Voraus! :p
Christina

step1.php

PHP:
<?php

if ($_COOKIE[success]=="1")
{
$print="<p>You are successfully logged in</p>";
} else {
	//go back to login if not successful
	header("Location: login.php");
	exit;
		}


$connection=mysql_connect("localhost","db","project") or die(mysql_error());
mysql_select_db("cat", $connection) or die(mysql_error());

$display = "<h2>Step 1 - Select a product</h2>";

$getS1 = "select prodname from products order by prodname";
$getS1Res = mysql_query($getS1, $connection) or die(mysql_error());

if (mysql_num_rows($getS1Res) <1) //checks to see if there is more than 1 product in db
{
	// if there are no users
	$display .= "<p>Sorry, there are no products in the database yet </p>";
} else {
		$display .= "
		<form method=\"POST\" action=\"step2.php\"><br>
		<select name=\"s1\">
		<option value=\"\"> -- Select one --</option>";

				while ($record = mysql_fetch_array($getS1Res))
			{
				$id = $record['prodname'];
				$s1 = stripslashes ($record['prodname']);
				$display .="<option value=\"$id\"> $s1 </option>";
			}
			$display .= "
			</select>
			<input type=\"submit\" name=\"submit\" value=\"Go to Step 2\"></p>
			</form>";
		}

?>

<html><head><title>Select a product</title>
<LINK REL=stylesheet TYPE="text/css" HREF="project.css"></head>
<body>
<br><br><br><br><br><br><br>
<center>
<?php echo $display; ?></center>
</body>
</html>

Und jetzt Step2.php

PHP:
<?php

if ($_COOKIE[success]=="1")
{
$print="<p>You are successfully logged in</p>";
} else {
	//go back to login if not successful
	header("Location: login.php");
	exit;
		}


$connection=mysql_connect("localhost","db","project") or die(mysql_error());
mysql_select_db("cat", $connection) or die(mysql_error());

$display = "<h2>Step 2 - Select a language</h2>";

$getS2 = "select language from languages, cds, products  where prodname='$getS1' and
 languages.languageid=cds.languageid and products.prodid=cds.prodid;";
$getS2Res = mysql_query($getS2, $connection) or die(mysql_error());

if (mysql_num_rows($getS2Res) <1)
{
	$display .= "<p>Sorry, there are no languages in the database yet </p>";
} else {
		$display .= "
		<form method=\"POST\" action=\"step3.php\"><br>
		<select name=\"s2\">
		<option value=\"\"> -- Select one --</option>";

				while ($record = mysql_fetch_array($getS1Res))
			{
				$id = $record['language'];
				$s2 = stripslashes ($record['language']);
				$display .="<option value=\"$id\"> $s2 </option>";
			}
			
			$display .= "
			</select>
			<input type=\"submit\" name=\"submit\" value=\"Go to Step 3\"></p>
			</form>";
		}

?>

<html><head><title>Select a product</title>
<LINK REL=stylesheet TYPE="text/css" HREF="project.css"></head>
<body>
<br><br><br><br><br><br><br>
<center>
<?php echo $display; ?></center>
</body>
</html>
 
probier doch in Step2.php mal folgendes

Code:
$getS2 = "select language from languages, cds, products  where prodname='".$_POST[s1]."' and languages.languageid=cds.languageid and products.prodid=cds.prodid;";


eventuell solltest du mal in Step2.php echo "<hr>".$getS2."<hr>"; nach dem definieren der SQL-Anfrage eingeben. Da siehst du wie der Abfragestring ausschaut und überhaupt ein prodname definiert ist.


MfG
 
SUPER! Es hat geklappt, vielen, vielen Dank! :-) Weiss ich wirklich zu schaetzen.
Ich glaube ohne die Hilfe in diesem Forum wuerd ich total untergehen! Nochmals danke!

Christina
 
Jetzt habe ich doch noch eine Frage weil ich anscheinend zu doof bin... :(

Ich habe versucht in der step3.php Datei beide Variablen aufzurufen (also $s2 von der step2.php und $s1 von der step1.php).
Dummerweise erkennt er das $s1 nicht mehr. Nur die Variable die im vorigen Script (also $s2) eingegeben wurde.
Wie schaffe ich es vorige Variablen auch zu printen/mitzunehmen? Geht das mit session start() oder wird das anders gemacht?
Danke!
 
ersetz in step2 mal

Code:
<form method=\"POST\" action=\"step3.php\"><br>

durch

Code:
<form method=\"POST\" action=\"step3.php\"><br> 
<input type=\"hidden\" name=\"s1\" value=\"".$_POST[s1]."\">


nun kannst du auf step3 mit $_POST[s1] wieder auf den Wert zugreifen

MfG
 
Zurück