2013-05-13 64 views
0

我一直在修補這個幾天。檢查出所有相關的帖子,仍然無法完成它的工作。任何人都可以看一看,並引導我走向正確的方向?窗體會議數據不張貼,會議工作

我有一個網站,一切都被加載到一個頁面上的div。 除了表格數據,一切都很好。 我可以加載測試的會話數據,它工作正常,但我似乎無法得到任何輸入的表單數據。

我有session_start();包含在connection.php中開頭的php標籤的頂部。每個頁面都需要connection.php。

connection.php開頭。

<? 
session_start(); 

下面是一些addvehicle.php代碼樣本(不張貼這一切,因爲它是巨大的,其餘的是不相關的,可如果需要的話雖然)

...

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
      $('form#newvehicleform').submit(function() 
      { 
      <?php 
      $trucknumbera=$_POST["trucknumber"]; 
      $_SESSION['trucknumber']=$trucknumbera; 
      $_SESSION['info']="this is some info"; 
      ?> 
        $("#mainwindow").load("addvehiclepost.php"); 
        return false; 
      }); 
    }); 
</script> 

.....

<form id="newvehicleform" class="newvehicleform" method="post" action="<?php echo $PHP_SELF;?>"> 
    <table> 
    <tr> 
     <td> 
      Truck Number 
     </td> 
     <td> 
       <input name="trucknumber" class="validate[required,custom[number]]" type="text" id="trucknumber" autofocus autocomplete="off" required /> 
      </td> 
</tr> 
    <tr> 
    <td> 
      <br> 
      <input type="submit" id="submit" class="s-submit" alt="Submit" value="Submit"> 
    </td> 
</tr> 
</table> 
</form> 

的測試,addvehiclepost.php

require ('./connection.php'); 
echo "<br>info: " .$_SESSION['info']. "<br>"; 
$trucknumber=$_SESSION['trucknumber']; 
echo "<br>trucknumber: " .$trucknumber; 

,這裏是輸出,我從addvehiclepost.php得到

信息:這是一些信息

trucknummer:

,所以你可以看到它的傳球$ _SESSION正確和該功能正在工作,但我不能讓它通過提交的數據。

任何人有任何想法得到這個去?

在此先感謝。科林。

回答

0

當你用PHP執行你的第一個腳本時,沒有任何表單數據。

而且在那裏執行的PHP片段除了將空的POST值(NULL)傳遞給局部變量,然後傳遞給會話數組之外,不會執行任何操作。

我想你認爲這個PHP代碼在javascript被調用時得到執行,但事實並非如此!首先執行所有的PHP,並將結果回傳給瀏覽器。然後呈現頁面並執行javascript。

因此,在表單頁面首次被瀏覽器加載時,您的代碼的PHP部分確實複製了一個空值(並設置了一個靜態的值,這就是您所看到的)。

然後javascript的行爲。這意味着在你的情況下,不存在表單POST請求,而只是addvehiclepost.php腳本的GET請求。沒有POST請求意味着沒有$_POST數據。無論如何,在加載的腳本中不能訪問它。

我不知道你是否能夠解決這個問題,但我希望我能讓你理解你的代碼的結構錯誤。我曾與任何我知道的新手見過。

+0

謝謝,現在我明白這一點了。 我還沒有找到工作。 任何建議讓它通過表單的值通過? – 2013-05-14 14:29:49