登録日
2019年11月28日

メンバー検索

  

ykbigdrive72

名前(ニックネーム)
ハイキック
自分のconcrete5サイト
自己紹介
名古屋の印刷会社でプログラム開発に従事しております。
基本は.NETでWEBアプリケーションやWindowsアプリケーション
開発を主に行っています。
WEBアプリの開発効率を上げるため、最近はWordPress、Kintone
やMicrosoft PowerBI を使ったソリューションも提案しております。
このたび、Concrete5 の勉強を始めました。
どうぞよろしくお願い致します。
concrete5.org のユーザー名
ykbigdrive72
concrete5 Slack Team ID
Twitterアカウント
フォーラム総投稿数
140

コミュニティバッジ

エバンジェリスト 宣伝・普及活動を行っていただいている concrete5 の伝道師です!エバンジェリストについて

投稿

91から100までを表示 (計136)

Re: 外部フォーム処理後に、前のページに戻れないようにしたい

いつもお世話になっております。

先ほど質問をさせていただきましたが、コントローラ側に以下の
コードを追加することで回避できました。
ページの構成は、最初に入力用外部フォームが表示。
「確認する」ボタンをクリックして、回答内容の確認ページが
表示。確認ページには「回答ページへ戻る」と「回答を送信する」
ボタンを設置。
それぞれの<form>タグ内で、バリデーションヘルパのtokenを発行し、
それぞれ別の変数にoutput しました。
それをコントローラ側で処理する際、
コントローラ側のバリデーション処理で引っかかった場合、つまり
正規のフォームから発行されたトークンを受け取れなかった場合、

if ($validate != true){
die('不正な処理です。');
}

とすることで、前の画面へ戻れなくすることができました。
phpの二重送信対策でございました。基礎的なところで、大変
申し訳ございませんでした。
ありがとうございました。

Posted on 8月 17, 2020 at 2:41 午後

外部フォーム処理後に、前のページに戻れないようにしたい

フォーラムのみなさま

平素は大変お世話になっております。
先日より、外部フォームを作成して、入力されたデータを
Expressへ登録後、回答者メールアドレスへメールを自動返信
するところまで作ることができました。
ありがとうございます。

お教えいただきたいのですが、現在、入力ページから、「送信」
ボタンをクリック後、コントローラ側でExpressへの登録処理と
メール送信処理を行い、正常に終了した場合、外部ブロックに
「回答が完了しました」といったメッセージを表示させております。

しかし、ここでブラウザの戻るボタンや、キーボードのEnterキー
を押下すると、履歴が残っているため、前の回答ページへ移動
できてしまいます。
これを防ぎたいので、外部フォームのビュー側に、Javascriptを使って
履歴を消去する処理を実装してみましたが、戻れてしまいます。
基本的に、回答は1回のみとしたいので、ページを戻って、何度も
回答できてしまうことを何とか防ぎたいと思っておりますが、なにか
よいお知恵はございませんでしょうか?

どうぞよろしくお願いいたします。

【開発環境】
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307

# Database Information
Version: 5.1.73
SQL Mode:

# concrete5 Packages
None

# concrete5 Overrides
blocks/external_form/form/controller/get_express_data.php, blocks/external_form/form/controller/shop_express_data.php, blocks/external_form/form/controller/touroku_express.php, blocks/external_form/form/controller/hodanren_shika.php, blocks/external_form/form/controller, blocks/external_form/form/get_express_data.php, blocks/external_form/form/shop_express_data.php, blocks/external_form/form/touroku_express.php, blocks/external_form/form/hodanren_shika.php, blocks/external_form/form/frm_conform.php, blocks/external_form/form, blocks/external_form, mail/mail_send.php

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
apache2handler

# PHP Version
7.1.33

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 384M
sql.safe_mode - Off
upload_max_filesize - 256M
ldap.max_links - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5

Posted on 8月 17, 2020 at 11:32 午前

Re: 外部フォームで1つのcontroller が応答しない

フォーラムの皆さま

いつもお世話になっております。
先日来、質問をさせていただいておりました、ファイル2つのうちの
1つのコントローラから応答がない件で、正常に動作しているファイル
をリネームし、別のファイルとして動作を確認したところ、正常に
応答が得られました。
応答のなかったファイルを、すべて確認してみましたが、スペルや
ファイル名などで間違いなどはなく、原因は不明です。
しかし、正常なファイルをリネームして解消いたしました。
aniya様、大変迅速かつご丁寧にご回答を賜り、ありがとうございました。

Posted on 7月 29, 2020 at 5:41 午後

Re: 外部フォームで1つのcontroller が応答しない

aniyaさま

 本日はご回答ありがとうございました。
あれから、show_express_dataの2つのファイルをすべて見直して
みましたが、ファイル名、クラス名にはスペル間違いなどは
見当たりませんでした。
何度ファイルをサーバへあげても、show_express_dataのコントローラ
から応答がないようです。
規則で何か間違っていないか、もう一度検証してみます。
ご報告申し上げます。

Posted on 7月 28, 2020 at 5:39 午後

Re: 外部フォームで1つのcontroller が応答しない

aniyaさま

素早いレスポンスおよびご検証、本当にありがとうございます。
aniyaさまにてお試しいただいた結果を拝見いたしますと、コントローラ
から応答がございますね(汗)。
恐れ入ります。私の方で何か間違っている可能性が高いと思います。
もう一度見直してみたいと思います。
ありがとうございました。

Posted on 7月 28, 2020 at 2:35 午後

Re: 外部フォームで1つのcontroller が応答しない

aniyaさま

迅速なご回答、まことにありがとうございます。
ご指摘の通り、変数名を変えてみました。
get_express_data 側を $message1、 show_express_data側を $message2 として
みましたが、結果は、get_express_data の $message1のみ正常に表示されました。
もうひとつの検証用として、メニューにある"shop" においても、別のエンティティ
"shop" のエントリを引っ張って表示させましたが、こちらも<h3><$message3></h3>
として試しましたが、表示されませんでした。

Posted on 7月 28, 2020 at 1:57 午後

Re: 外部フォームで1つのcontroller が応答しない

aniyaさま

 大変迅速なご回答、まことにありがとうございます。
私のご説明が拙く、申し訳ございません。
実は、ご指摘の get_express_data 側には、コントローラから、2つの変数
を返すようになっており、$response と $message がございます。
ご指摘の個所は、外部フォームのブロックIDを取得し、外部フォームから入力
があった時点で、$response に"データの登録が正常に終了しました"メッセージ
を代入するもので、get_express_dataは、この2つの変数どちらも正常に表示
されております($message; は、$response; よりやや下側に記述しております)。

get_express_data 側は、コントローラのview関数にセットした文字"ユーザテーブル
登録デモ"の文字は表示されるのですが、問題は show_express_dataのファイルで
ございまして、こちらも同じように、コントローラに view関数があり、こちらに
"ユーザテーブル検索デモ"の文字をセットしておりますが、外部フォーム表示に
は何も表示されておりません。

説明不足で大変失礼いたしました。
どうぞよろしくお願いいたします。

Posted on 7月 28, 2020 at 10:57 午前

Re: 外部フォームで1つのcontroller が応答しない

aniyaさま

 おはようございます。
ご回答ありがとうございます。
ご指摘のように、変数$message にセミコロンを付与してみましたが、
やはり表示されませんでした。
ほかにも、ご指摘のような構文や記号の誤りがある恐れがございます
ので、再度見直してみたいと存じます。
迅速なご回答、ありがとうございました。

Posted on 7月 28, 2020 at 8:07 午前

Re: 外部フォームで1つのcontroller が応答しない

恐れ入ります。
検証中のURLです。

左右に外部フォームが並んでおりますが、右側は"ユーザテーブル登録デモ"の
$message 内容が表示されておりますが、左側にも、本来は
"ユーザテーブル検索デモ" の$message が表示されなければなりませんが、なにも
表示されておりません。

http://demo.survey-support.jp/test/index.php

Posted on 7月 27, 2020 at 5:10 午後

外部フォームで1つのcontroller が応答しない

フォーラムの皆さまへ

いつもお世話になっております。
先日来、外部フォームを作成し、Expressデータベースとのやり取りを
行なう検証ページを作成しております。
お陰様で、外部フォームで入力した情報をExpressのエンティティ(user)へ
登録およびuserエンティティの一覧を表形式で表示するところまでは進み
ました。

現在1枚のシングルページに2つの外部フォームを設置
1つ目:get_express_data.php
2つ目:show_express_data.php

それぞれ、view とcontrollerのファイルを持ち、
サーバのApplication\ExternalForm\Forms配下と、
Application\ExternalForm\Forms\Controller配下にphpファイルを置いております。
1つ目の get_express_data.php のコントローラでは、
class GetExpressData 配下の
public function view(){
$this->set('message', 'HogeHoge');
}
 の内容がView側のフォームに初期表示されていますが、2つ目のフォームにも
1つ目のコントローラと全く同じ設定にした
public function view(){
$this->set('message', 'FunyaFunya');
}

が外部フォームに初期表示されません。
1枚のページに2つの外部フォームを設置して、view と controllerファイルの名前は
同じにしております。
1つ目で正しく表示されて、2つ目のメッセージが表示されない原因として何が
考えられますでしょうか?
お分かりの方がいらっしゃいましたら、ぜひご教示頂ければと存じます。

添付ファイルとして、get_express_data.php(ビューとコントローラ)
show_express_data.php(ビューとコントローラ)をお付けしております。
どうぞよろしくお願い申し上げます。

Posted on 7月 27, 2020 at 4:09 午後