您好,我在以表格形式发送 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>
...';
所以奇怪的是,表单似乎没有被发送,因为代码的第一部分可以正常工作,只是发送表单时其他部分不起作用。它只会在 post-method 的条件下显示回显文本。
所以如果有人能告诉我如何解决这个问题,我真的会很感激。
多谢。
更新:
好的,使用不带操作的请求方法会回显消息。我认为它会工作。现在的问题是,当我发送帖子时,会话应该已更改。事实并非如此,我不知道为什么这不起作用。
所以原始代码是这样的:
if (isset($_POST["tr"]) ){
$_SESSION['a'] = "tr";
echo "post tr was send and session has changed to tr";
}