0

好吧,我正在使用 PHP/HTML 创建一个网站,并且我有一些后端 AJAX 可以根据页面前面的下拉菜单选择自动生成一些带有数据的复选框。

基本上是这个过程......

-> 从下拉菜单中选择一个工作名称 (JobXYZ) -> 自动生成复选框(从数据库中提取),可以创建 0-10+ 的任何位置,它们是与所选工作相关的汽车名称。

这是生成这些复选框的小代码片段......

$sql = "SELECT Description FROM Cars WHERE JobNumber='$JobNumber'";

$rs = odbc_exec($connection, $sql);

while(odbc_fetch_row($rs)) {
    $rowCarDeets = odbc_result($rs, 'Description');
    $response = $response . "<input type='checkbox' name='CarDescription' value='" . $rowCarDeets . "'>". $rowCarDeets . "</input></br>";
}

如您所见,复选框都称为“CarDescription”,然后填写值。当实际创建网站并创建这些复选框时,我可以通过检查网页上的这些元素来确认它们确实具有名称CarDescription' 具有不同的值,这些值是正确的值。我的意思是这些复选框的自动创建按预期工作。

它们都是表单的一部分,连同其他一些东西一起提交,这些东西通过单击提交按钮通过“帖子”提交。

从那里我去我的表单提交php文件,我只是抓住所有已经发布的东西......

$变量=$_POST['变量名'];

我尝试用汽车描述来做这件事,就像我做其他所有事情一样......

$CarDescription=$_POST['CarDescription']; 但它不起作用。这里有两个问题...

  1. 即使我只选择一个复选框并提交它,也没有任何通过。根据我对其他复选框的工作,如果只选择了一个,则仍应发布具有相同名称但不同值的复选框。这不是这里的情况。

  2. 我将来需要能够选择多个复选框,我该如何处理?有没有办法将某些东西作为复选框值数组或类似性质的东西发布?在我处理这个问题之前,虽然我认为我应该解决我遇到的问题,只需正确发送任何数据(来自单个复选框)。

您的帮助将不胜感激!

编辑:这个信息似乎甚至没有被发布。即使我将其放入数组中,我也会收到以下警告:

Notice: Undefined index: CarDescription in C:\---submit_form.php on line 26 

这是第 26 行....

    $CarDescription=$_POST['CarDescription'];

同样,如果我将其设为数组,对其进行大量更改等,就会发生这种情况。

4

1 回答 1

3

在这条线上:

$response = $response . "<input type='checkbox' name='CarDescription' value='" . $rowCarDeets . "'>". $rowCarDeets . "</input></br>";

将名称字段更改为name=CarDescription[]。然后它们可以在 PHP 中作为数组访问。运行它以查看它包含的内容:print_r($_POST["CarDescription"])

于 2012-08-31T05:09:14.097 回答