Php isset($#u POST[';x';])仅在提交按钮名称为“提交”时有效;提交;
我在使用回发时遇到问题,因为我有多个表单,Php isset($#u POST[';x';])仅在提交按钮名称为“提交”时有效;提交;,php,xhtml,Php,Xhtml,我在使用回发时遇到问题,因为我有多个表单,isset只能使用name=“submit”按钮 如果我使用name=“submit”我的代码可以正常工作,但是如果我将名称更改为其他名称,isset($\u POST['somethingelse'])将始终为false,为什么会发生这种情况 编辑: 如果(isset($\u POST['submit'])这是正常的,因为只设置了单击的提交按钮,而没有设置第二个按钮,如果您单击名为submitisset($\u POST['submit'])的提交按
isset
只能使用name=“submit”
按钮
如果我使用name=“submit”
我的代码可以正常工作,但是如果我将名称更改为其他名称,isset($\u POST['somethingelse'])
将始终为false,为什么会发生这种情况
编辑:
如果(isset($\u POST['submit'])这是正常的,因为只设置了单击的提交按钮,而没有设置第二个按钮,如果您单击名为submitisset($\u POST['submit'])
的提交按钮($\u POST['asdf'])
,如果你点击asdfisset($\u POST['submit'])
给出false和isset($\u POST['asdf'])
true,我对它进行了测试,它可以正常工作
测试代码:
<?php
$validated = false;
if (isset($_POST['submit'])) {
// preserve form values by storing the values from $_POST into variables
$test = "submit";
// validated is now true as submit button only submits if validated (script)
$validated = true;
}
else if(isset($_POST['asdf'])){
$test = "asdf";
// validated is now true as submit button only submits if validated (script)
$validated = true;
}
else {
// make variables empty as there's no values to preserve
$test = '';
}
if (!$validated) {
echo $test;
} ?>
<form id="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<p>Test: <input type="text" name="test" size="20" value="<?php echo $test ?>" /></p>
<p><input type="submit" name="submit" value="Submit" onclick ="validate(); return false;" /></p>
<p><input type="submit" name="asdf" value="Submit" onclick ="validate(document.getElementById('form')); return false;" />
</p>
不,肯定还有另一个问题。发布相关代码。发布html和php代码并检查$\u Post
包含的内容。如果asdf在$u POST中,isset将返回true。如果不是,则返回false。显示完整的表单代码?代码可以。问题是别的。去掉所有东西-删除javascript和任何其他非必要部分-只留下输入、提交按钮和isset
代码。这应该行得通。然后开始把所有的东西一块一块地加回去,直到它断裂。
<?php
$validated = false;
if (isset($_POST['submit'])) {
// preserve form values by storing the values from $_POST into variables
$test = $_POST['test'];
// validated is now true as submit button only submits if validated (script)
$validated = true;
} else {
// make variables empty as there's no values to preserve
$test = '';
}
if (!$validated) {
?>
<form id="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<p>Test: <input type="text" name="test" size="20" value="<?php echo $test ?>" /></p>
<p><input type="submit" name="submit" value="Submit" onclick ="validate(); return false;" /></p>
<?php } ?>
<?php
$validated = false;
if (isset($_POST['submit'])) {
// preserve form values by storing the values from $_POST into variables
$test = "submit";
// validated is now true as submit button only submits if validated (script)
$validated = true;
}
else if(isset($_POST['asdf'])){
$test = "asdf";
// validated is now true as submit button only submits if validated (script)
$validated = true;
}
else {
// make variables empty as there's no values to preserve
$test = '';
}
if (!$validated) {
echo $test;
} ?>
<form id="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<p>Test: <input type="text" name="test" size="20" value="<?php echo $test ?>" /></p>
<p><input type="submit" name="submit" value="Submit" onclick ="validate(); return false;" /></p>
<p><input type="submit" name="asdf" value="Submit" onclick ="validate(document.getElementById('form')); return false;" />
</p>