你好我有问题发送一个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部分在发送表单时不起作用。它只会显示后方法条件下的回显文本。
所以如果有人可以告诉我如何解决这个问题,我真的会赞赏。
非常感谢。
UPDATE:
没关系,使用请求方法,无需操作使得回声出消息。我认为它会起作用。 现在的问题是,当我发送帖子时,会话应该已经改变。情况并非如此,我不知道为什么这不起作用。
所以原来的代码是这样的:
if (isset($_POST["tr"])){
$_SESSION['a'] = "tr";
echo "post tr was send and session has changed to tr";
}
如果你不这样做有一个'$ _SESSION ['a']'值,你永远不会在else语句中看到'echo' – Stu
html元素ID是**从不**发送提交表单。只有'name'和'value'属性。 –
如果表单在发送页面时回传到相同的URL,则不需要执行“操作”。 – Joe