你好我有問題發送一個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