1

これはばかげた質問のように思えますが、さらに調査すれば答えを見つけることができるかもしれませんが、締め切りを教えてください.

codeigniter im を使用して、URL の「ID」が「uID」(ユーザー ID) または「sID」(システム ID) であるかどうかを確認しようとしています。

使用しているコードは次のとおりです。

    if(isset($this->input->get('uID'))) {
        $getID = $this-input->get('uID');
    } else {
        $getID = $this->input->get('sID');
    }

それを使用すると、ウェブサイトが一時的にダウンしているか、建設中というサーバーエラーが表示されます。何か案は?

助けてくれてありがとう。通常なら、自分で答えを探すのにより多くの時間を費やしますが、今夜は時間がありません。

4

2 に答える 2

4

表示される警告は、おそらく 500 エラーです。サーバーがエラーを表示するように設定されていないか、index.php ファイルで有効になっていないことを意味します。

表示されていないエラーは、「致命的なエラー: 書き込みコンテキストで関数の戻り値を使用できません」です。これは、関数で isset を使用できないためです。

$this->input->get('key')CIは常に値を返すため、期待どおりの結果が得られない場合があります。キーが存在しない場合はfalseを返します。

したがって、やろうとしているように見えることを達成するには、次のように記述します。

$getID = $this->input->get('uID') ? $this->input->get('uID') : $this->input->get('sID');

以下のコメントに基づいて、あなたにとって意味のある方法でそれを提供したいと思いました:

if($this->input->get('uID')) {
  $getID = $this->input->get('uID');
}
else {
  $getID = $this->input->get('sID'):
}

2 つのソリューションは、機能的には同じです。

于 2012-01-29T04:33:14.907 に答える
2

isset変数でのみ機能します。関数呼び出し
$this->input->get()です。それはあなたにエラーを与えます。

uIDリクエストに設定されていない場合は、$this->input->get返さnullれるか、またはそのようなものになると思いfalseます。つまり、必要ありません。isset戻り値は既にfalseyになっているはずです。

The Definitive Guide To PHP's isset And empty を読むのに少し時間を費やすことをお勧めします。

于 2012-01-29T04:33:15.060 に答える