ホームページ >バックエンド開発 >PHPチュートリアル >三項演算子の通知プロンプト
$act = isset($_POST['act']) ? $_POST['act']:(isset($_GET['act']) ? $_GET['act']:'login');
あなたが言及した現象は存在しません
注意: 未定義のインデックス: C:UsersJohnDesktopshopadminprivilege.php の 3 行目で動作
少なくともそれはあなたです それはこれが事実であることは反映されていません
何が起こっているのでしょうか?どうすれば通知を提出できますか?
私の #3 のスクリーンショットのことですか?
2行目で、値を代入せずに$actを直接使用した場合(echo $act;)、当然通知が報告されます
しかし、3行目では追加したい括弧がありません。しかし、通知も報告されません
私は証明するためにこれを行いました: 私は通知レベルのエラーをブロックしませんでした
エラーをブロックするために @ を使用しませんでした。括弧を追加すると naotice エラーが発生しますか? 括弧を追加しないと naotice エラーは発生しません。
問題ありません。
あなたが提供したコードは不完全であり、通知は他の場所から来たものと推定されます。
<?phpini_set('display_errors','on');error_reporting(E_ALL);$act = isset($_POST['act']) ? $_POST['act']:(isset($_GET['act']) ? $_GET['act']:'login');$act = isset($_POST['act']) ? $_POST['act']:isset($_GET['act']) ? $_GET['act']:'login';?>
括弧がないと、この変数が定義されていないという通知が表示されます。この行為には、
array( 4) { ["act "]=> string(6) "signin" ["username"]=> string(0) "" ["captcha" ]=> string( 0) ""
これに変更すれば大丈夫です
$act = isset($_REQUEST['act']) ? $_REQUEST['act']:isset($_REQUEST['act']) ? $_REQUEST['act']:'login';