私はF12を押すと、私はインデックスが定義されていないのはなぜですか?
Line 18: Undefined index: task_uid
を言うメッセージが表示され、警告を見てみると、私はちょうどここに、私はそれを宣言し、それを選択しなかったことを考えると、それは定義されていない理由を本当に理解していけない:
<?php
session_start();
require ("../../../main/gerais/DBConn.php");
$task_uid = $_GET['task_uid'];
$proj_id = $_GET['proj_id'];
?>
これは、コンソールに応じて、エラーと思われる「ライン18」の前に3行あります。ここにこの行があります:
<?php
if(!empty($_POST['proj_id'])||($_POST['task_uid']))
die("Invalid proj_id or task_uid.");
$query = "
SELECT pm.proj_id, pm.task_uid, etc etc etc...
?>
なぜそれは未定義ですか?この質問が文脈なしで答えることができるかどうかはわかりませんが、この「task_uid」がURLに表示され、実際のエラーではなく警告としてしか表示されないことを考慮すると、どれだけ問題になりますか?
'task_uid'とは' GET'要求がない場合、エラーが返されるように思える... –
あなたはせず、そこからREADそれが実際に存在するかどうかを今までチェックしているので、存在しないときに警告が表示されます。例えばスクリプトがそのクエリパラメータで呼び出されない場合は、警告が表示されます。 empty()は存在の有効なテストではありません。変数は存在することができ、同時に空にすることができる。 '$ foo = 0;空($ foo) 'はTRUEです。内容に関係なく、存在のチェックを行う 'isset()'を使う必要があります。 –