這裏有幾個問題。
儘量不要使用ternaries如果你能擺脫它。他們只是很難閱讀,可能會令人困惑。這當然是我自己的看法。此外,我檢查與strlen()而不是isset,因爲我有問題與isset()和數組。
<?php
if (strlen($_GET["name"]) > 0) {
$urlname = $_GET['name'];
echo "GET: $urlname";
} elseif (strlen($_POST["name"]) > 0) {
$urlname = $_POST['name'];
echo "POST: $urlname";
} else {
$urlname = 'ddd';
echo "NONE: $urlname";
}
?>
您不需要圍繞字符串聲明的括號。
<?php
$url = "http://localhost/web12/directory/list=".$urlname;
echo $url;
?>
形式只有通過提交信息,其中錨(一)標籤通過get(在文件名後的查詢字符串)發送信息獲取或發佈數據。所以你在混合這些而沒有得到你想要的效果。
GET
將通過查詢字符串(如鏈接)發送信息:
<form action="t.php" method="get" target="_self">
<input type="radio" name="name" value="aaa"/> AAA<br/>
<input type="radio" name="name" value="bbb"/> BBB<br/>
<input type="radio" name="name" value="ccc"/> CCC
<input type="submit"/>
</form>
注意提交按鈕。
POST
將提交作爲發佈信息的,不影響行動網址:
<form action="t.php" method="post" target="_self">
<input type="radio" name="name" value="aaa"/> AAA<br/>
<input type="radio" name="name" value="bbb"/> BBB<br/>
<input type="radio" name="name" value="ccc"/> CCC
<input type="submit"/>
</form>
注意提交按鈕。
主播GET
鏈接不火的形式提交,不管他們是一個表單元素內或一個之外。他們不是表單提交過程的一部分。
<a href="t.php?name=aaa">aaa</a>
<a href="t.php?name=bbb">bbb</a>
<a href="t.php?name=ccc">ccc</a>
它不僅僅是GET/POST。你的$ url值永遠不會有「ddd」作爲默認值,它會一直是空白的,因爲它正在尋找$ _GET ['name']的值 – Steve 2011-02-02 20:59:08
另外,你不會從那個「形式「,因爲它們只是鏈接,需要像 – Steve 2011-02-02 21:06:44