書き直すを押しても送信されてしまう

【環境情報】
・baserCMSのバージョン:4.3.5
・レンタルサーバー名:ニフクラ
・使用テーマ:bc_sample
・PHPスキル 全くわからない

同じ質問をされている方もおられますが、メールフォームの書き直すを押しても送信されてしまいます。どうしてもうまくいきません。bc_sampleでの修正の仕方をご教授できますでしょうか? よろしくお願い致します。

おっしゃっているようにこの記事に倣って、該当する部分を修正すれば解消すると思います。
該当するファイルと所在は、bc_sample/Elementsフォルダ内のmail_form.phpファイルです。

GUSSAN様 回答ありがとうございます。
おっしゃられていたbc_sample/Elementsフォルダ内のmail_form.phpですが、
記事と違うようで、<?php /* 送信ボタン */ ?>等が記載されておりませんでした。
classが"bs-mail-form-submit"となっています。
その下の2行を記事の通りに書き換えても同じ症状です。

あと私の見落としですが、Verが4.4.5でした。何か関係あるでしょうか?
以上、宜しくお願い致します。

<?php echo $this->Mailform->submit(' ' . __('書き直す') . ' ', array('div' => false, 'class' => 'btn btn-secondary form-submit', 'id' => 'BtnMessageBack')) ?>
<?php echo $this->Mailform->submit(' ' . __('送信する') . ' ', array('div' => false, 'class' => 'btn btn-success form-submit', 'id' => 'BtnMessageSubmit')) ?>

まさに画面キャプチャの部分の上記に相当する2行を、上記の通り書き直すということです。

おっと、4.4.5ですか!!
うーん、であれば、対応済みのはずですねぇ。。。
しかし、baserCMSが4.4.5でも、テーマ自体は、前のものである可能性はあるので、一応、上記2行に関して確認ください。

うーん。ダメですねー。同じ症状です。今回問い合わせフォームだけbaserCMSを利用しようとしておりますので、いっそのことテーマを変更したほうがよいでしょうか?

すいません。。。そもそも現在のサイトは、baserCMSとは無関係なのでしょうか?
状況がどうも飲み込めないので、判断しかねます。

あと、先程の画面キャプチャの切れている後ろ側(「‘id’ =>」以降)は、どうなっていますか?

おっしゃられていた切れていた分のキャプチャ添付します。
よろしくお願い致します。

やはり、特に記述が古いようには見受けられませんので、古いテーマファイルということではなさそうですね。
テーマを変えてみるなどされてみるのも確かに一考かもしれません。。。
明確な回答ができずにすいません。

JSのエラーがあったりすると発生することがあります!
ブラウザのデベロッパーツールに、なにかエラーは出ていませんか?

ご連絡ありがとうございます。
問い合わせフォームのデベロッパー画面を添付します。
エラーがでておりますが、関係あるでしょうか?

初めまして。
Ver4.4.5+bc_sample+ローカル環境ですが、syamaさんの問題を再現することができました。
mail_form.phpの25行目〜33行目のjavascriptが影響しているのもの考えられます。
当該箇所のjavascriptに間違いがある場合や、jqueryなどの必要なライブラリやファイルがうまく読み込めていない可能性があります。

の部分をコピペで貼り付けてもらうことは可能ですか?

ryota様 ご連絡ありがとうございます。
おっしゃられている25~33行目が以下になります。

以上、よろしくお願い致します。

コピペだと表示されないみたいですので、
画像も貼り付けます。

スクショありがとうございます。記述は間違っていないようですね。

もう少し教えてください。
現状は、basercmsとテーマをインストールしたばかりで何も改修していない前提でよかったですか?新規インスト?アップデート?
デベロッパーツールのスクショを見た感じですと、bodyにclassが付与されていたり、body直下のdivにidが付与されているのでデフォルトではないようにも感じますがいかがでしょうか?(ver4.4.5のbg_sampleのデフォルト動作と若干異なっているので。)VERSION.txtでテーマのバージョンが確認できますのでこちらも確認してください。

・デベロッパーツールのタブからConsoleを選択していただいて何かエラー表示があるかご確認ください。
(上のデベロッパーツールの画像はElementsを選択したものだと思います。)
・また上記デベロッパーツールの画像はどのタイミングでスクリーンショットしたものですか?
(お問い合わせページ、ページ遷移したタイミングなど。)
・theme直下にMailがあるかと思いますが、その中はdefaultのみですか?
defaultのみであれば、その中のindex.phpの33行目に
$this->BcBaser->element(‘mail_form’) の記述がありますが、この通りでしょうか?

いろいろ確認していただいてありがとうございます。
おっしゃられている内容を確認しました。

・bg_sampleのVERSION.txtを開くと2.0.0と記載されてました。
・デベロッパーツールのタブConsoleを選択した状態のスクショを添付します。


・このスクショのタイミングですが問い合わせフォームに入力後、最後の「書き直す」「送信する」が表示されている状態です。
・theme直下にMailはありませんでした。\theme\bc_sample\Mail\defaultとなっていま す。Mailの中はdefaultフォルダのみです。この中に4つphpが入ってます。index.phpの33行目は <?php $this->BcBaser->element('mail_form') ?>となっています。

以上、宜しくお願い致します。

ちょっと伺いたいのですが、baserCMSのインストールフォルダは、ドメインに指定されているフォルダ内にサブフォルダを作成して、そのサブフォルダを対象にbaserCMSをインストールされた感じですね?
インストールされた環境にもともとある.htaccessファイルの内容に不備があるとか、
どうも、URLの解釈がうまくいっていないような感じがします。。。

つまり、既存のスタティックなHTMLの環境とbaserCMSがコンフリクト起こしているのではないでしょうか?

皆様いろいろとご指示いただきまして、誠にありがとうございました!
たしかに、既存のサイト(別システム)との併用をしている関係で、コンタクトフォーム内でのURLの解釈に不具合を生じさせる原因になっているのかもしれません。先々、baserCMSを利用したサイトリプレイスも考えていることから、現状は、「書き直し」ボタンを非表示として対応したいと思います。

2 Likes