0

開発者が表示するライブデモと同じコードでコードが機能するのに、なぜこのエラーが発生するのですか?どんな助けでも大歓迎です。

$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ?: $_SERVER['REQUEST_METHOD'];
4

2 に答える 2

3

問題は、他に述べられているように、三項演算子に引数がないという事実ではありません。問題はおそらくサーバーのPHPバージョンです。

PHPドキュメントから直接:

PHP 5.3以降、三項演算子の中央部分を省略できます。式expr1?:expr3は、expr1がTRUEと評価された場合はexpr1を返し、それ以外の場合はexpr3を返します。

記述方法は、PHPバージョンが5.3以上のすべてのサーバーで有効です。

それ以外の場合は、同等の式で書き直す必要があります。

$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ?  $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] : $_SERVER['REQUEST_METHOD'];
于 2013-03-25T17:48:43.893 に答える
1

これを変える

$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ?: $_SERVER['REQUEST_METHOD'];

$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ? "" : $_SERVER['REQUEST_METHOD'];

また

$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ? NULL : $_SERVER['REQUEST_METHOD'];
于 2013-03-25T16:11:10.543 に答える