首页 > 解决方案 > PHP isset 不接受表单名称

问题描述

当我检查它是否已设置时,我在尝试使用隐藏输入字段来识别我的表单时遇到问题。不知道是因为我在循环中运行表单还是什么。我确实知道,当我为循环中的任何字段单击提交时,隐藏字段的值正在正确注册,只是不知何故“form1”没有注册为 isset。有任何想法吗?

<?php
if(isset($_POST['form1']))
    {
    echo $_POST['cid'];
    } else {echo "nope!";} 
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" name="form1">
// gets array
$listchars = $user->getCharacterList($_SESSION['user_id']);
// loops through array 
foreach($listchars as $chardata){
 echo $chardata['name']; ?>
<input type="hidden" name="cid" value="<?php echo $chardata['cid'];?>">
<input type="submit" name="submit" value="submit">
<?php } ?>
</form>

标签: phphtmlarrayshidden-field

解决方案


表单名称未提交

利用

<input type="submit" name="form_name">

或者

<input type="hidden" name="form_name">


推荐阅读