Php $\u请求提供空值,而窗体提交数组值
这是我的网址Php $\u请求提供空值,而窗体提交数组值,php,html,Php,Html,这是我的网址 db_control.php?workname=Test+message&worktype=1&workscore=10&multi%5B%5D=4&multi%5B%5D=24&frmsubmit= 这是我的php代码 if(isset($_REQUEST['frmsubmit'])) { echo $_REQUEST['workname']; echo '<br>'; echo $_REQUEST['work
db_control.php?workname=Test+message&worktype=1&workscore=10&multi%5B%5D=4&multi%5B%5D=24&frmsubmit=
这是我的php代码
if(isset($_REQUEST['frmsubmit']))
{
echo $_REQUEST['workname']; echo '<br>';
echo $_REQUEST['workscore'];echo '<br>';
foreach($_REQUEST['multi'] as $mlti => $n)
{
echo $n;echo '<br>';
}
}
这些都来自一个表单帖子(表单方法是get)
我做错了什么?请用正确的方式引导我。提前谢谢
这是我的html代码
<form enctype="multipart/form-data" class="form-horizontal ng-pristine ng-valid" id="work_assignment" method="get" action="<?=BASE_URL?>db_control.php" role="form">
<div class="box-body">
<label class="col-sm-3 control-label" for="name">Work Name<font class="redFont">*</font></label>
<div class="controls col-sm-6">
<input class="form-control" id="workname" required="required" name="workname" value="" type="text">
</div>
</div>
<div class="box-body">
<div class="row" id="field_name">
<label class="col-sm-3 control-label" for="name">Work Type<font class="redFont">*</font></label>
<div class="controls col-sm-6">
<select class="select2-container form-control select2Field" id="worktype" name="worktype" onchange="hidescore(this)">
<option value="1">KRA</option>
<option value="2">Regular Task</option>
<option value="3">SELF Task</option>
</select>
</div>
</div>
<div class="box-body">
<div class="row" id="field_namews">
<label id="hidsco" class="col-sm-3 control-label" for="name">Work Score</label>
<div class="controls col-sm-6">
<input class="form-control" id="workscore" name="workscore" value="" type="text">
</div>
</div>
<div class="row" id="field_name">
<label class="col-sm-3 control-label" for="name">Employee<font class="redFont">*</font></label>
<div class="controls col-sm-6" style="height:130px">
<select name="multi[]" multiple="multiple" style="height:100%"><!--onchange="setmail(this)"-->
<option value="1">SudarshanSeshadri (1000)</option>
<option value="3">Sonal Nahata (1010)</option>
<option value="4">SujishV (1002)</option>
<option value="33">JohnbabuAmose (0001)</option>
<option value="34">GeethaVijay (1086)</option>
<option value="35">BabuAmose (2100000)</option>
<option value="36">SudhakarJeevan (102)</option> </select>
</div>
</div>
<div class="control-group row">
<div class="controls col-sm-9">
<button type="submit" class="btn btn-primary pull-right" name="frmsubmit"><i class="fa fa-save"></i> Save</button>
<button type="button" class="btn pull-right" style="margin-right:5px;" onclick="cancelsave()"><i class="fa fa-times-circle-o"></i> Cancel</button>
</div>
</div>
正确的方法是通过以下方式在一个参数multi
中传递multi的所有值
使用:
而不是:
并通过如下方式访问“multi”的值:
if(isset($_REQUEST['frmsubmit']))
{
echo $_REQUEST['workname']; echo '<br>';
echo $_REQUEST['workscore'];echo '<br>';
$multiParam = explode(",",$_REQUEST['multi']);
foreach($multiParam as $mlti => $n)
{
echo $n;echo '<br>';
}
}
if(isset($\u请求['frmsubmit']))
{
echo$_请求['workname'];echo'
';
echo$_请求['workscore'];echo'
';
$multiParam=explode(“,”,$_请求['multi']);
foreach($mlti=>$n的多内存)
{
echo$n;echo'
';
}
}
编辑:也可以阅读@EduardoFernandes的答案以了解更多信息。显示生成此路径的HTML表单。我尝试过,它工作正常:“Test message 10 4 24”但为什么它对我不起作用?我知道,我知道,当无法复制错误时,很难找到解决方案。如果您点击此地址会发生什么(用括号替换%5B%5D)?:db_control.php?workname=Test+message&worktype=1&workscore=10&multi[]=4&multi[]=24&frmsubmit=感谢变量multi[]是从下拉多选选项。我怎么做…?那不对。他处理多个参数的方式比你的更完美更优雅。而且,如果其中一个多值包含逗号呢?砰!你得到了一个拆分的值。我为他面临的问题提供了另一种解决方案。你为什么不告诉我们“是的,它不起作用了?”阿马纳萨尼告诉你,我试过了,它起作用了。你可以从我对他的回答的评论中看到。
if(isset($_REQUEST['frmsubmit']))
{
echo $_REQUEST['workname']; echo '<br>';
echo $_REQUEST['workscore'];echo '<br>';
$multiParam = explode(",",$_REQUEST['multi']);
foreach($multiParam as $mlti => $n)
{
echo $n;echo '<br>';
}
}