2013-05-13 63 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