controller.phpでの緊急・例外エラー発生について
お世話様です。
controller.phpでの緊急・例外エラー発生について
バージョン8.4.4(Xserver)で、「360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)」エラーが多発しています。
とりあえず、該当位置に
358 if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add
を追加して回避する様にしていますが、
これでは根本的な解決にならないと思いますので、エラーとなる原因について対応を教えていただきたいと考えています。
オリジナルcontroller.phpの、付近のコードは以下の様になっています。
357 //question set id
358 $qsID = intval($_POST['qsID']);
359 if ($qsID == 0) {
360 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
361 }
362 $errors = [];
宜しくお願いします。
尚、エラーは、
日付:3/20、4/7、4/24、5/2、5/15、5/22、5/31、6/20、6/22、7/1(2回)、7/20、7/26、7/30、8/1、8/5、8/26の間隔で、都合17回発生しています。
"2019/08/05 15:51:00",EMERGENCY,例外,ゲスト,"Exception Occurred: /home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)"
p.s. メールフォームの問題かと思いますが、
エラーが発生せず、長文のメールでも届く場合もあります。
特別な編集はしていません。
入力項目の追加、チェックボックスの追加、reCAPTCHAの追加位です。
よろしくお願いいたします。
p.s.2
エラーの起きているバージョン8.4.4と、
/home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php と
バージョン8.5.1の C:\_MAMP\htdocs\concrete5\concrete\blocks\form\controller.php をWinMergeで比較してみました
比較対象が正しいかは不明ですが、ステートメントの違いが見受けられます。
(バージョン8.5.1にバージョンアップしたら解決するかもしれませんが・・・)
添付ファイル.pdfを追記します。
よろしくお願いいたします。
Re: controller.phpでの緊急・例外エラー発生について
|ありがとうございます。
358 $qsID = intval($_POST['qsID']); の前に追加しています。
結果
359 $qsID = intval($_POST['qsID']); となっています。
でも、問題はこれでは無いんです。
|とりあえず、該当位置に358 if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add
を追加して回避する様にしていますが、
|
|エラーが起こったら、
|Exception Occurred: /home/a-itc/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php:360 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)
を回避することができても、
根本的に「controller.php:360 設定されたフォームになにか問題があります」のフォームにどの様な問題があるのかわからないですし。
フォームには(入力項目の追加、チックボックス項目の追加、reCAPTCHAの追加位ですから)特別な変更を加えているつもりもないのに
どうして「設定されたフォームになにか問題があります」とうエラーになるかわからないからです。
ですので、
現在は 358 // if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add とコメント化しようと考えています。
オリジナルcontroller.phpの、付近のコードは以下の様になっていました。
357 //question set id
358 $qsID = intval($_POST['qsID']);
359 if ($qsID == 0) {
360 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
361 }
362 $errors = [];
現在は、
357 //question set id
358 if (!isset($_POST['qsID'])) {return;} // 2019/08/27暫定add
359 $qsID = intval($_POST['qsID']);
360 if ($qsID == 0) {
361 throw new Exception(t("Oops, something is wrong with the form you posted (it doesn't have a question set id)."));
362 }
363 $errors = [];
です。
DeaconBlues
Re: controller.phpでの緊急・例外エラー発生について
上記の内容を見て思ったのですが、
追記するコードの挿入位置、間違えていませんか?
追記するコードは、
オリジナルのコードでいう358行目よりも上に追記しましたか?