2013-07-17 67 views
0

所以这里的第一页上的代码:遇到问题页面之间传递变量,通过PHP

<?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值的那些

+0

你没有通过表单提交你的表单,所以$ _POST ['formSubmit']总是空 –

回答

0

您需要将您的提交按钮命名为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> 
0

只要改变第一,如果到:

if ($_POST['pricePerWeek'] || $_POST['specificWeek']) 

在可替代的,如果你愿意,你可以隐藏的输入添加到窗体,并留下如果是这样。

<input type="hidden" name="formSubmit" value="Submit" />