表格会话数据不发布,会话工作

时间:2013-05-13 21:50:13

标签: php forms session submit

我几天都在修补这个问题。检查了所有相关的帖子,仍然无法完成它的工作。任何人都能看一眼并引导我朝着正确的方向前进?

我有一个网站,其中所有内容都被加载到页面上的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获得的输出

  

info:这是一些信息

     

trucknummer:

所以你可以看到它正确传递$ _SESSION并且该函数正在运行但是我无法让它传递提交的数据。

任何人对此事都有任何想法吗?

提前致谢。 -Colin。

1 个答案:

答案 0 :(得分:0)

使用PHP执行第一个脚本时,没有表单数据。

除了将空POST值(NULL)传递给局部变量然后传输到会话数组之外,在那里执行的PHP片段没有做任何事情。

我认为你认为这个PHP代码在调用javascript时会被执行,但事实并非如此!首先执行所有PHP,然后将结果回显给浏览器。然后呈现页面并执行javascript。

因此,代码的PHP部分会在浏览器首次加载表单页面时复制一个空值(并设置一个静态值,这就是你所看到的)。

然后javascript行动。在您的情况下,这意味着没有表单POST请求,而只是对addvehiclepost.php脚本的GET请求。没有POST请求意味着没有$_POST数据。无论如何都不会在加载的脚本中访问它。

我不知道你是否能解决这个问题,但我希望我能让你理解代码的结构错误。关于我认识的任何新手我都看过这个。