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'])这是正常的,因为只设置了单击的提交按钮,而没有设置第二个按钮,如果您单击名为submit
isset($\u POST['submit'])
的提交按钮($\u POST['asdf'])
,如果你点击asdf
isset($\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>