可以这样做吗?
我创建了一个执行函数giveReaction的表单。谁能告诉我我做错了什么?
到目前为止,这是我的代码:
function giveReaction (){
global $firstname;
if ( empty($firstname) ) {
$firstname = 'fill in your name, and get a response.';
echo "$firstname";
}
else {
$firstname = $_GET['firstname'];
echo "hello, $firstname";
}
}
echo "<form action=\"index.php?func_name=giveReaction()\" method=\"GET\">
<input type=\"text\" name=\"firstname\">
<input type=\"submit\" value=\"send\">
</form>";
giveReaction();
答案 0 :(得分:1)
您的代码存在两个直接问题:
$firstname
func_name
- 这不是语言的内置功能要开始修复代码,您需要在提交表单时正确处理firstname
输入,例如:
$firstname = isset($_GET['firstname']) ? $_GET['firstname'] : '';
这可确保$firstname
将是提交的值,如果尚未提供,则为空字符串。
那么你可以按如下方式定义你的函数:
function giveReaction (){
$firstname = isset($_GET['firstname']) ? $_GET['firstname'] : '';
if ( empty($firstname) ) {
echo 'fill in your name, and get a response.';
} else {
echo "hello, $firstname";
}
}
其次调整表单以删除不必要的操作,因为默认表单将提交到当前页面,并且不使用func_name
参数。
echo "<form method=\"GET\">
<input type=\"text\" name=\"firstname\">
<input type=\"submit\" value=\"send\">
</form>";
然后你可以通过调用你的函数来完成。
giveReaction();
答案 1 :(得分:0)
您的功能可以简单地是:
function giveReaction() {
$firstname = $_GET['firstname'];
echo $firstname ? "hello, $firstname" : 'fill in your name, and get a response.';
}
无需将其添加到表单中。