我正在努力学习PHP,我想我自己做一个简单的练习制作一个网站,如果有人去了它,他们会得到“你好朋友!”但如果我的妻子(名叫Dawn)去了它,她就会收到不同的信息。
不幸的是,它总是显得空白,我不确定为什么。
我知道它仅适用于带有文本的index.html,并且我知道它适用于index.php,只要我没有<?php
标记(只是文本工作)。但是当我试图让它成为真正的php时,它就失败了。
site/index.php
屈服
“你好朋友!”site/index.php?who=Bob
来
屈服“你好朋友!”site/index.php?who=Dawn
来
屈服“你好黎明!我爱你!”这就是我所拥有的:
<?php
print 'Hello ';
$who = $_GET("who");
if($who && $who == "Dawn")
print "Dawn! I love you!";
else
print "friend!";
/>
那么,出了什么问题?
答案 0 :(得分:7)
访问数组($_GET
是一个数组),就像在Java中一样,使用方括号:
$who = $_GET['who'];
if($who)
如果$who
为非假,则if(isset($who) && $who == "Dawn")
评估为true,要检查它是否需要使用isset
:
?>
最后,如@Shivan所述,结束标记应为/>
,而不是{{1}}。
答案 1 :(得分:3)
多个问题应该是:
<?php
print 'Hello ';
$who = $_GET["who"];
if(isset($who) && $who == "Dawn") {
print 'Dawn! I love you!';
} else {
print 'friend!';
}
?>
更多信息:
?>
答案 2 :(得分:1)
试试这个尺寸:
<?php
echo 'Hello ';
$who = isset($_GET["who"])?$_GET["who"]:false;
if($who)
echo "Dawn! I love you!";
else
echo "friend!";
?>
这会检查以确保密钥为who
的_GET值,否则php会抛出错误。