如何通过表单发送$ _POST?

时间:2012-12-21 16:08:15

标签: php html forms input

你好我在表单中发送id时遇到问题。

网站的结构是:

session_start();
if (!isset($_SESSION['a'])){
    ...create the session from some variables...
$_SESSION['a'] = $var;
$var = $_SESSION['a'];
}else{
$var = $_SESSION['a'];

    if (isset($_POST["one"]) ){
        echo "post one was send";
    }
    if (isset($_POST["two"]) ){
        echo "post en was send";
    }

echo "session already exists.";
}

它将发送的表单放在页面的末尾,并将被排除在php中嵌入到html中:

echo '...
      <ul class="drop_down">
    <form action="'.$_SERVER['PHP_SELF'].'" method="post">      
        <input type="submit" id="one" name="one" value="one"/><div>set one</div>
    </form>
    <form action="'.$_SERVER['PHP_SELF'].'" method="post">  
        <input type="submit" id="two" name="two" value="two"><div>set two</div>
    </form>
      </ul>
     ...';

所以奇怪的是,表单似乎没有发送,因为代码的第一部分工作,因为它应该只做else部分在发送表单时不起作用。它只会在post-method的条件下显示echo文本。

所以,如果有人能够告诉我如何解决这个问题,我真的会感到满意。

非常感谢。

更新:

好的,使用不带动作的请求方法可以回显消息。我认为它会起作用。 现在的问题是,当我发送帖子时,会话应该已经改变了。情况并非如此,我不知道为什么这不起作用。

所以原始代码是这样的:

if (isset($_POST["tr"]) ){
    $_SESSION['a'] = "tr";
    echo "post tr was send and session has changed to tr";
    }

1 个答案:

答案 0 :(得分:2)

如果你有这样的表格

<form method="post">
  <input type="submit" value="Submit Form" name="formA">
</form>

<form method="post">
  <input type="submit" value="Submit Form" name="formB">
</form>

然后你可以像这样检查

if (isset($_REQUEST['formA']) ...
elseif (isset($_REQUEST['formB']) ...