Php 发送路由POST参数时出现问题
我对基于id删除N个表的提交表单(或路由设计)有问题。 我制作了一个使用索引php文件的简单路由函数:Php 发送路由POST参数时出现问题,php,jquery,forms,http,post,Php,Jquery,Forms,Http,Post,我对基于id删除N个表的提交表单(或路由设计)有问题。 我制作了一个使用索引php文件的简单路由函数: function relativeRouter ($controller,$action,$query_data=""){ $param = is_array($query_data) ? http_build_query($query_data) : "$query_data"; $url = "index.php?controller=$controller&act
function relativeRouter ($controller,$action,$query_data=""){
$param = is_array($query_data) ? http_build_query($query_data) : "$query_data";
$url = "index.php?controller=$controller&action=$action&$param";
return $url;
索引使用controller=?&action=?,创建控制器实例?。
它还将POST/GET参数绑定到方法参数(在数组中,$params)。(我已经知道不能直接调用superglobals)
而使用insert表单时无需任何麻烦:
Array ( [title] => 435 [desc] => 5534 )
以下是表格视图:
<?php
if (isset($products)) {
$action = relativeRouter("ProductsController", "deleteProducts");
$html="<form id='multiselect' action='$action' method='POST'>\n";
foreach ($products as $product) {
$html.= "<tr>\n"
."<td><input type='checkbox' name='ids' value='".$product->id."'></td>\n"
."<td>".$product->id."</td>\n"
."<td>".$product->title."</td>\n"
."<td>".$product->description."</td>\n"
."<td>".$product->image."</td>\n"
."</tr>\n";
}
$html.="</form>\n";
echo $html;
}
?>
更换并检查。名称应包含多值
的数组运算符
,请将其替换并检查<代码>名称
应包含多值的数组运算符。它可以工作。这和php有关吗?我从来没有用Java和Groovy做过类似的事情。是的,在php中,多维始终使用数组运算符。我非常感谢您,我没有意识到这一点。添加为答案,以便将来如果有人想知道,他们可以看到答案而不是注释。如果问题解决了,请接受,以避免重复回答
Array ( [title] => 435 [desc] => 5534 )
<?php
if (isset($products)) {
$action = relativeRouter("ProductsController", "deleteProducts");
$html="<form id='multiselect' action='$action' method='POST'>\n";
foreach ($products as $product) {
$html.= "<tr>\n"
."<td><input type='checkbox' name='ids' value='".$product->id."'></td>\n"
."<td>".$product->id."</td>\n"
."<td>".$product->title."</td>\n"
."<td>".$product->description."</td>\n"
."<td>".$product->image."</td>\n"
."</tr>\n";
}
$html.="</form>\n";
echo $html;
}
?>
<script>
function send() {
$('#multiselect').submit();
$('.play-confirm-modal').modal('hide');
}
$('.play-crud-delete').on('click',function(){
var checked = $( "input:checkbox:checked" ).length;
if(checked>0) {
$('.play-confirm-modal').modal('show');
console.log(checked);
} else {
alert("No selected checkboxes");
}
});
</script>