<?php echo isset($_GET["name"])?$_GET['name']:'ddd'; ?>
<?php
...
$url = ("http://localhost/web12/directory/list=".$_GET['name']."");
//echo $url;
...
?>
<form action="t.php" method="post" target="_self">
<a href="t.php?name=aaa">aaa</a>
<a href="t.php?name=bbb">bbb</a>
<a href="t.php?name=ccc">ccc</a>
</form>
如何使帖子为空(第一次打开t.php),让$url = ("http://localhost/web12/directory/list=ddd");
?
现在我的默认$_GET['name']
没有回应。$url =("http://localhost/web12/directory/list=")
谢谢。
答案 0 :(得分:3)
这里有几个问题。
如果你能逃脱它,尽量不要使用三元。它们只是难以阅读,而且可能令人困惑。这当然是我自己的看法。另外,我检查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;
?>
表单只能通过提交信息来获取或发布数据,其中anchor(a)标签通过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>
请注意提交按钮。
发表强>
将作为发布信息提交,而不会影响操作网址:
<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>
请注意提交按钮。
ANCHOR 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>
答案 1 :(得分:2)
$variable = isset($_POST['name']) ? $_POST['name'] : 'ddd';
...
$url = "http://localhost/web12/directory/list=" . $variable;
答案 2 :(得分:1)
快速而肮脏的方法是
<?
$val = $_POST['val'];
if (!$_POST) {
// No posted data, so do something else
$val = 'Default val';
}
?>
另外,你形成了method =“POST”,它将被$ _POST捕获,而不是$ _GEt
答案 3 :(得分:1)
最干净的方式
<?php
$name = filter_input(INPUT_POST, 'name');
if (!$name) $name = 'ddd';
$url = 'http://localhost/web12/directory/list=' . urlencode($name);