PHP访问$ _POST值和count()

时间:2013-08-05 22:04:38

标签: php forms count html-table http-post

我在向可变大小的表发布编辑时遇到问题。我有一系列行,每行有两个文本框和一个复选框。这些框预先填充了当前值。当用户编辑一个然后单击表底部的“提交”时,目标是将编辑的行发送到远程数据库,在那里它们将被更改。这是我的表格代码:

<?php

//I set up a socket and send a request for data here
$sent = socket_sendto($socket, $request, strlen($request), 0 , $addr, $port);

if($sent !== FALSE){
    $message = '';
    $next = ''; 
    //bytes to read
    while($next = socket_read($socket, 2000)){
        //custom terminate char sequence
        if($next === $term){
            //get out of if and while
            break 2;
        }else{ $message .= $next;}  
    }
    $fbt = json_decode($message,true);
    $tableCount = count($fbt);
    if($tableCount == 0){
        //notify the user 
        echo "No feedback entries have been defined. Please add some.";
    }else{
        //display the table
        echo "<form name=\"fb\" action=\"fbedit_submit.php\" method=\"post\"><table id=\"opt\"><tbody>";
        for($i=0;$i<$tableCount;$i++){
            //echo the rows

            echo "<tr class=\"optr\"><td class =\"optid\">". 
            "Code: <input name=\"id[".$i."]\" type=\"text\" width=\"20px\" value=\"".$fbt[$i]["id"]."\">".
            "</td><td class=\"optcode\">".
            "Description: <input name=\"desc[".$i."]\" type=\"text\" value=\"".$fbt[$i]["code"]."\">".
            "</td><td class=\"optactive\">".
            "Active: <input name=\"active[".$i."]\" type=\"checkbox\"";
            if($fbt[$i]["active"] == 1){
                echo "checked=\"checked\">";
            } else{
                echo ">";
            }
            //finish lines
            echo "</td></tr>";
        }
        echo "</tbody></table>
            <br><input name=\"fbmodbtn\" id= \"b-submit\" type=\"submit\">
            </form>";
    }

} else{
    echo "Failed.";
}

socket_close($socket);
?>

此代码效果很好(虽然它有点笨重)。我希望能够在提交时_POST表单,但是当我这样做时

echo count($_POST['id']);

在操作页面上,我总是得到0.我收到的错误是:

  

未定义的索引:在C:\ xampp \ htdocs \ upt \ fbedit_submit.php中的id在线   14

如何获取表格中的行数,然后访问值以通过另一个套接字连接发送它们?

1 个答案:

答案 0 :(得分:3)

echo count($POST['id']);

应该是

echo count($_POST['id']);