2012-11-22 88 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-變量名'];