所以第一页上的代码是:
<?php
$db = mysql_connect(
':/Applications/MAMP/tmp/mysql/mysql.sock',
'root',
'root'
);
if(!$db) die("Error connecting to MySQL database.");
mysql_select_db('onlineform', $db);
$newQuery1 = mysql_query("SELECT newCampSessions FROM onlineformdata ORDER BY id DESC LIMIT 1") or die('Error ' . mysql_error());
$newFoo = mysql_fetch_array($newQuery1);
$newQuery2 = mysql_query("SELECT pricePerWeek FROM onlineformdata ORDER BY id DESC LIMIT 1") or die('Error ' . mysql_error());
$newFoo1 = mysql_fetch_array($newQuery2);
$newOldString = $newFoo['newCampSessions'];
$newOldString2 = $newFoo1['pricePerWeek'];
$newChangedString = unserialize($newOldString);
$newChangedString2 = unserialize($newOldString2);
sql_close();
?>
<html>
<head> (all the tags in here) </head>
<body>
<form id="paymentform" action="amd8.php" method="post">
<input type="hidden" name="pricePerWeek" value="<?php echo $newChangedString2 ?>"/>
<input type="hidden" name="specificWeek" value="<?php echo $newChangedString ?>"/>
</form>
</body>
</html>
第一页还有更多内容,但我只是提供了相关的代码。在第一个页面上,一切都在php上运行。
当我尝试将它传递到第二页时,我会为我试图传递的特定数组获得一个NULL值。
amd8.php:
<?php
if ($_POST['formSubmit'] == "Submit")
{
$newString = $_POST['pricePerWeek'];
$newString2 = $_POST['specificWeek'];
}
$db = mysql_connect(
':/Applications/MAMP/tmp/mysql/mysql.sock',
'root',
'root'
);
if(!$db) die("Error connecting to MySQL database.");
mysql_select_db('onlineform', $db);
$newQuery = mysql_query("SELECT newPrice,numberOfWeeks FROM onlineformdata ORDER BY id DESC LIMIT 1");
$newRow = mysql_fetch_row($newQuery);
$limit = $newRow[1];
$totalPrice = 0;
if (isset($_SESSION['campsessions']))
{
for ($count == 0; $count < $limit; $count=$count+1)
{
foreach ($_SESSION['campsessions'] as $campsessions)
{
if ($campsessions == ($newString[$count]))
{
$totalPrice = $totalPrice + $newString2[$count];
}
}
}
}
?>
<html>
<head>(header info)</head>
<body>
<p>
<?php echo gettype($newString2);
echo gettype($newString);
?>
</p>
</body>
</html>
正如您所看到的,我试图回显的gettypes()
是那些给我一个NULL值的
您需要将提交按钮命名为formSubmit
,以使if语句返回true。像这样改变你的表格,它应该可以工作:
<form id="paymentform" action="amd8.php" method="post">
<input type="hidden" name="pricePerWeek" value="<?php echo $newChangedString2 ?>"/>
<input type="hidden" name="specificWeek" value="<?php echo $newChangedString ?>"/>
<input type="submit" value="Submit" name="formSubmit">
</form>
只需将第一个if更改为:
if ($_POST['pricePerWeek'] || $_POST['specificWeek'])
或者,如果你愿意,你可以在表单中添加一个隐藏的输入,并保持if原样。
<input type="hidden" name="formSubmit" value="Submit" />