2016-03-27 83 views
0

這個代碼在PHP 5.3,但不是在PHP 5.4>錯誤注意:未定義指數:

//station 
$station = $_GET['station']; 

if (!$station) 
    $station = 'main'; 



//base path 

回答

1

這取決於你的error_reporting的設置,但你應該總是檢查 '站' 通過HTTP(S)等 www.example.com?station=piccadily

if (isset($_GET['station']) && $station = $_GET['station']) 
else $station = 'main; 

已經被設置或將其簡化爲:

$station = isset($_GET['station']) ? $_GET['station'] : 'main'; 

因爲PHP7您可以用COALESCE操作寫:

$station = $_GET['station'] ?? 'main'; 
0
<?php 
    $station = $_GET['station']; 
    error_reporting(0); 
    if (isset ($station)) : 
     $station = 'main'; 
    else : 
     $action = 'null'; 
    endif; 
?> 
+0

同一玩家腳本 1個服務器Centos的6.7 PHP 5.3 http://195.154.68.186/工作 2.服務器Centos的7 PHP 5.4的HTTP: //37.59.14.143/player/index.php不加載swf文件 – Ambassador

+0

我不明白代碼,如果error_reporting被設置爲ALL(0)之前,你會在第二行得到相同的通知執行代碼。什麼是$動作? –

+0

湯姆K.如果你想我可以給你發送劇本。以測試 – Ambassador