開発者が表示するライブデモと同じコードでコードが機能するのに、なぜこのエラーが発生するのですか?どんな助けでも大歓迎です。
$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ?: $_SERVER['REQUEST_METHOD'];
開発者が表示するライブデモと同じコードでコードが機能するのに、なぜこのエラーが発生するのですか?どんな助けでも大歓迎です。
$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ?: $_SERVER['REQUEST_METHOD'];
問題は、他に述べられているように、三項演算子に引数がないという事実ではありません。問題はおそらくサーバーの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'];
これを変える
$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'];