2012-11-22 54 views
-1
<html> 
<body> 
<p> Hello. </p> 
<? $d="0"; ?> 
<? if($d=="1"){ echo "D equals 1";} ?> 
</body> 
</html> 

我已经把上面的代码放到一个名为test.php的文件中。但是,当我去sitename.com/test.php?d=1时,它不会回应任何内容。我的代码是错误的,还是在我需要更改的php.ini中有某些内容?我怎样才能解决这个问题?PHP的url变量

+3

您正在查找的行为称为['register_globals'](http://php.net/manual/en/security.globals.php),您不应该使用IT_。你想要的是'if(isset($ _ GET ['d'])&& $ _GET ['d'] == 1)' –

+2

阅读[关于'$ _GET'超全球](http://php.net/ manual/en/reserved.variables.get.php)如果您在书籍或教程中看到可以直接从'test.php?d = 1'访问'$ d',那么您极力建议您查找更新的资源。 –

+0

雅,对不起,我正在读取DOS的PHP。 – user1760904

回答

2

工作代码:

<html> 
<body> 
<p> Hello. </p> 
<?php $d = $_GET['d'] ?> 
<?php if($d=="1"){ echo "D equals 1";} ?> 
</body> 
</html> 

编辑:或者,在一个更可读的方式:

<?php 
    $d = $_GET['d']; 
    if ($d == '1') { 
     echo 'D equals 1'; 
    } 
?> 
2

有2个问题:

首先,需要声明$ d,并立即检查,看它是否是1

其次,要获得GET变量的值,在使用前将其设置为0 $ _GET ['d']而不是$ d。

0

$ phpVariable = $ _GET [ 'URL-变量名'];