"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php: selbst definierte variable weiterleiten

Easyrider16 24.01.2007 - 15:18 634 8
Posts

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
hi

folgendes problem: habe in nem formular ne variable definiert, name: $available2
der wert wird durch eine rechnung ausgerechnet

irgendwie haut die weiterleitung ins nächste formular nicht hin :rolleyes:

Code zur weiterleitung (andere variablen werden auch weitergegeben)

Code: PHP
<form action="update.php?bid=<?php echo ($_REQUEST['bid'])?>&fcount=<?php echo ($_POST['fcount'])?>&aid=<?php echo ($_REQUEST['aid'])?>&$available2=<?php echo ($available2) ?>" method="POST">


code zum anzeigen im nächsten formular:

Code: PHP
<?php echo $_REQUEST[$available2];   

findet ihr den fehler ?

Tex

got r00t?
Avatar
Registered: Aug 2000
Location: salzburg
Posts: 1844
echo $_REQUEST['available2'];

edit: und das $-zeichen vor "available2" beim übergeben weglassen.

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
habs korrigiert, funktioniert aber leider nicht

Tex

got r00t?
Avatar
Registered: Aug 2000
Location: salzburg
Posts: 1844
habs probiert - bei mir gehts.

probier mal $_GET['available2'] statt $_REQUEST['available2']

ansonsten poste den gesamten code + fehlermeldungen

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
$available2 wird weiter unten ausgerechnet
auf der nächsten seite steht nur der von dir gepostete befehl
fehlermeldung bekomme ich keine, aber er zeigt mir keinen wert an

Code: PHP
<?php
	$link = mysql_connect ("localhost", "hak_buchung", "hak_buchung") or die ("Fehler!".mysql_error());
	$db = mysql_select_db ("hak_buchung", $link) or die ("Fehler!".mysql_error());

	$sql = "SELECT * FROM tblauktionen  INNER JOIN tblwarenkorb ON tblwarenkorb.aid = tblauktionen.aid WHERE BID =".$_REQUEST['bid'];
	$result = mysql_query ($sql, $link) or die ("Fehler!".mysql_error());
	$num = mysql_num_rows($result);
	for ($i = 0; $i <$num; $i++)
	{
		$row = mysql_fetch_array($result); 
}
?>

<html>
<head>
<title>formular</title>
<link rel="stylesheet" href="../../_css/main.css" type="text/css">
</head>

<script language="JavaScript">
<!--
var ZielDatei = "index.php?update_confirm.php";

if (!top.FramesetGeladen){
if(document.images)
top.location.replace(ZielDatei); 
else 
top.location.href = ZielDatei ;
}
//-->
</script>




<body>
<h1>Änderungsbestätigung</h1>
<table border = "0">
<tr>
<td width = "290"><hr><hr></td>
</tr>
</table>
<form action="update.php?bid=<?php echo ($_REQUEST['bid'])?>&fcount=<?php echo ($_POST['fcount'])?>&aid=<?php echo ($_REQUEST['aid'])?>&available2=<?php echo (available2) ?>" method="POST">

<h1><?php echo ($row["subject"]); ?></h1>

<table border = "0">
	<tr>
	<td width = "270"><?php echo ($row["description"]); ?><br><br><br></td>
	<?php if ($row["picture"]=="") { ?>
	<td> <img src = "images/nopic.jpg"> </td><?php }
	else { ?>
	<td><img src = "images/article images/<?php echo ($row["picture"]);?>"> <br><br></td> 
	<?php }?>
	</tr>
	<tr>
		<td width = "170"><hr>Anzahl:  <?php echo ($_POST['fcount'])?><br><br></td>
	</tr>
	<tr>
		<td>Einzelpreis:  <?php echo ($row["price"]); ?>€ <br><br></td>
		<td>Limit:   <?php echo ($row["limit1"]); ?> Stück<br><br></td>
		</tr>
	<tr>
		<td>Summe:  <?php echo ($_POST['fcount']) * ($row["price"]) ?> €<br><br></td>
	</tr>
	
</table>

<br><br><h4>
<?php 

	if (($row["count"]) > $_POST['fcount']) {
		$available2 = ((($row["available"]) + ($row["count"])) - $_POST['fcount']);
		}
	else {
		$available2 = ((($row["available"]) - ($_POST['fcount'])) + ($row["count"]));
		} 

	if (($_POST['fcount'] > $row["limit1"]) or ($available2 < 0)) {	
		echo "* Zu große Menge, bitte korriegieren Sie Ihre Eingabe!";
		?><meta http-equiv="refresh" content="3;URL=update_form.php?aid=<?php echo ($_REQUEST['aid']);?>"> 
		 <?php } 	  
	 else { ?>
	     <input type="submit" name="fsubmit" value="Bestätigen">
		 <?php } ?>
</h4>
  
	 </form> 

</body>
</html>

Tex

got r00t?
Avatar
Registered: Aug 2000
Location: salzburg
Posts: 1844
das kann nicht gehen, da $available oben beim form-tag noch nicht bekannt war. du könntest das ergebnis in ein <input type="hidden"> feld am ende des formulars geben, dann klappt es.

edit: warum machst du überhaupt ein formular, wenn du doch kein einziges feld drinnen hast? für deine zwecke würde ein einfacher link reichen.

edit2: du könntest ansonsten auch die berechnung von $available2 vorverlegen.
Bearbeitet von Tex am 24.01.2007, 16:05

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
vielen dank

hab da leider noch ein problem mit einer weiterleitung


Code: PHP
<script language="JavaScript">
<!--
var ZielDatei = "index.php?home.php";

if (!top.FramesetGeladen){
if(document.images)
top.location.replace(ZielDatei); 
else 
top.location.href = ZielDatei ;
}
//-->
</script>


<?php
$_username = $_SERVER['PHP_AUTH_USER'];

$link = mysql_connect ("localhost", "hak_buchung", "hak_buchung") or die ("Fehler!".mysql_error());
$db = mysql_select_db ("hak_buchung", $link) or die ("Fehler!".mysql_error());

$sql = "SELECT * FROM tbluser WHERE user LIKE '$_username'";
$result = mysql_query($sql, $link)or die ("Fehler!".mysql_error());
$num = mysql_num_rows($result);
$row = mysql_fetch_array($result);

function date_mysql2german($datum) {
list($jahr, $monat, $tag) = explode("-", $datum);
return sprintf("%02d.%02d.%04d", $tag, $monat, $jahr);
}
?>
<html>
<head>
<title>index</title>
<link rel="stylesheet" href="../../_css/main.css" type="text/css">
</head>
<body>
<br>
<form action="formular.php?id=<?php echo ($row["id"])?>" method="POST">
<?php echo ("Herzlich Willkommen, ".$row['vorname']." ".$row['zuname'])."!";
	$sql = "SELECT * FROM tblauktionen";
	$result = mysql_query ($sql, $link) or die ("Fehler!".mysql_error());
	$num = mysql_num_rows($result);
	for ($i = 0; $i <$num; $i++)
	{
		$row = mysql_fetch_array($result); 
		?>
		<table border = "0">
		<tr><hr>
			<td width="120"><a href="formular.php?aid=<?php echo ($row["aid"]); ?>"><?php echo ($row["subject"]); ?></a></td>
			<td><?php if ($row["picture"]=="") { ?> <img src = "images/nopic.jpg" width="45" height="55" alt="Vorschau" border="1"> <?php } 
			          else { ?> <img src = "images/article images/<?php echo ($row["picture"]);?>" width="55" height="55" alt="Vorschau" border="1"> <?php } ?></td>
		</tr>
		<tr>
			<td width="150"> noch vorhanden: <?php echo ($row["available"]); ?> <br><br><br><br></td>     
			<td> Enddatum: <?php echo (date_mysql2german ($row["to"])); ?> <br><br><br><br></td>
		</tr>
		</table>
<?php
}
?>
<h6>
<a href ="buchungen.php" >Buchungen</a>
</h6>
</form>
</body>
</html>

die variable id wird nicht weitergegeben

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
die "id" variable muss als hidden input in das forumlar.

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
Zitat von mat
die "id" variable muss als hidden input in das forumlar.

hab ich gemacht, funktioniert aber leider nicht
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz