2013-07-17 107 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" />