Re: Re: PHP7.2 メール送信時にエラー

2018年10月4日 at 18:06

ありがとうございます。
先ほどcontroller.phpを修正しました。

if (!count($errors)) {
-----
の行を

-----
$noError = true;
if (is_array($errors))) {
if (count($errors)) {
$noError = false
}
}
if ($noError) {
-----
の6行に変更してアップロードしたところ問合せページを表示する際にエラーが発生しました。

「予期せぬエラーが発生しました。syntax error, unexpected ')'」

エラーログは下記のようになっています。

Exception Occurred: /home/アカウント/ドメイン/public_html/application/blocks/form/controller.php:421 syntax error, unexpected ')' (0)

すみません。
宜しくお願い致します。

Re: PHP7.2 メール送信時にエラー

2018年10月4日 at 18:38
エラーの内容は文法エラーで、予期していない’)’があるよ!って意味なので、
Katzさんが単純に書き間違えただけかなと思います。

if (is_array($errors))) { をかっこの数を合わせて、

if (is_array($errors)) { 
に変更したらどうでしょうか?

それ以外の部分は見ていないので、
他の不具合だったらわかりませんが、たぶん、上記だけだと思いますので、
トライしてみてください。
 

Re: PHP7.2 メール送信時にエラー

2018年10月4日 at 21:34
お世話になります。

DeaconBlues さん、Syntax エラーのご指摘、ありがとうございます。
取り急ぎ、書いたので・・・。

追加で頂いた、コードを見ていたら、もう一箇所 count($error) している箇所がありました。
そこも修正しないと、再度 count エラーが出ます。

長くなってきたので Gist にあげています。
これだと変更箇所がわかりやすいかも。
http://gist.github.com/katzueno/b86458a8c7c9cfef54e5e14ca977d719/revisions

これで試していただけますか?
 

Re: Re: PHP7.2 メール送信時にエラー

2018年10月5日 at 14:19
Katz様、DeaconBlues様
お手数をおかけして申し訳ありません。
アップロードして頂いたファイルで送信フォームから正常に送信ができました。

本当にありがとうございます

ですが、他のエラーが発生しました。
解決したと思い、既存と新規でテスト作成していたレガシーフォームを削除しようとしましたら下記のエラーが表示されました。

Class 'Application\Block\Form\MiniSurvey' not found

アクセス拒否


エラーログは...

Exception Occurred: /home/アカウント/ドメイン/public_html/application/blocks/form/controller.php:638 Class 'Application\Block\Form\MiniSurvey' not found (0)


他で質問している内容と同じでしたらすみません。
宜しくお願い致します。
 

Re: PHP7.2 メール送信時にエラー

2018年10月9日 at 14:35
カスタマイズをしたとき、
/concrete/blocks/form/mini_survey.php

/application/blocks/form/mini_survey.php
にコピー&設置していないですか?

コピー&設置していない場合は、
下記の1行を17行目あたりに追加していただけますか?
http://gist.github.com/katzueno/b86458a8c7c9cfef54e5e14ca977d719/revisions
 

Re: Re: PHP7.2 メール送信時にエラー

2018年10月10日 at 7:01
KatZ様、ありがとうございます。

確認しましたが該当場所には/application/blocks/form/controller.phpしかありませんでしたので17行目に「use Concrete\Block\Form\MiniSurvey;」を追加したところ改善しました。
作成したレガシーフォームを削除してもエラーは表示されず、正常に削除できました。
助かりました。

ありがとうございました!

※テストで最新のconcrete5 8.4.3を新規インストールして試みましたが、同じエラーが表示されました。

Class 'Application\Block\Form\MiniSurvey' not found

アクセス拒否

同じ方法で正常に動作しました。

concrete5 8.4.2まではエラーが出なかったのでconcrete5 8.4.3にアップグレード及び新規インストールで発生しているみたいです。