KENT-WEB サポートコーナー 過去ログ [ 0401 ]


記事No: 10781
投稿日: 2012/07/27(Fri) 09:30:26
タイトル_name で指定しても必須項目になりません
ID情報: toikinya
投稿者: うりん
URLhttp://www.jai.co.jp/contact/index.html

postmai ver.4.2を使用していましたが、
昨日ver.6.2にバージョンアップしたところ、
name値の先頭に_(アンダーバー)を付けても必須項目にならなくなりました。

参考URLは、「部署・学部名2」以外の項目はすべて「_お名前」など、_を付けているのですが、何も入れなくても送信できてしまいます。

他に変更する箇所があるのでしょうか?


記事No: 10782
投稿日: 2012/07/27(Fri) 13:52:28
タイトルRe: _name で指定しても必須項目になりません
ID情報: collie
投稿者: コリー

これはおそらくバグですね。
56行目を以下にすると動きました

foreach (@$need) {

もう一箇所修正した方がいい場所がありそうでしたが、
私は未熟者ゆえそれが正しいのか分かりませんので、
ここまでの書き込みにしておきます。

この修正も正しいか分かりませんので、
修正は自己責任でお願いいたします


記事No: 10785
投稿日: 2012/07/27(Fri) 15:08:54
タイトルRe^2: _name で指定しても必須項目になりません
ID情報: toikinya
投稿者: うりん
URLhttp://www.jai.co.jp/contact/index.html

> これはおそらくバグですね。
> 56行目を以下にすると動きました
>
> foreach (@$need) {
>
> もう一箇所修正した方がいい場所がありそうでしたが、
> 私は未熟者ゆえそれが正しいのか分かりませんので、
> ここまでの書き込みにしておきます。
>
> この修正も正しいか分かりませんので、
> 修正は自己責任でお願いいたします

できました!
ありがとうございました!!
前のバージョンに戻そうかと思ってたんですけど、
よかったです。助かりました。


記事No: 10786
投稿日: 2012/07/27(Fri) 15:44:47
タイトルRe^3: _name で指定しても必須項目になりません
ID情報: collie
投稿者: コリー
URLhttp://collie.dip.jp/

デフォルトでも

<input type="hidden" name="need" value="名前 メールアドレス 性別" />

のタグは効くようですね。改造せずにこちらを使えばよかったのかもしれません。どちらかしか効かない設定になってしまっているようで。。両方効かすためには二箇所の修正が必要そうです。

ともあれとりあえずは大丈夫そう?なので良かったです。


記事No: 10793
投稿日: 2012/07/29(Sun) 10:39:19
タイトルRe^2: _name で指定しても必須項目になりません
ID情報: kent
投稿者: KENT

> これはおそらくバグですね。
> 56行目を以下にすると動きました
>
> foreach (@$need) {

本当ですね。ご指摘をありがとうございます。
該当箇所は早速修正しておきます。


記事No: 10795
投稿日: 2012/07/30(Mon) 07:06:48
タイトル今回の修正について
ID情報: collie
投稿者: コリー
URLhttp://collie.dip.jp/

こんにちは。

どういう風に修正されたのか興味があったので見てみたのですが、実際は何箇所修正したのでしょうか。たぶん今回の修正だとneedタグの方が使えなくなってしまうようなのですが大丈夫なのでしょうか。

これ→ <input type="hidden" name="need" value="name email 問合せ種別" />

文法的に正しいかどうかわかりませんが52行目

push(@need,@tmp);


push(@$need,@tmp);

のようにすべきな気がします。そうじゃないと空の配列にデータをマージしてる気が・・・そういえば空の配列を宣言してたの消えてますね。2箇所修正したのでしょうか。

foreach (@$need) {

結局のところここを直してしまっているので@needの中身が全く処理されないという結果になりそうです。

一応未熟者ゆえ書いている事が正しいかどうか分かりませんのでKENT様で確認したうえで修正してください。
それでは。


記事No: 10802
投稿日: 2012/07/30(Mon) 20:45:13
タイトルRe: 今回の修正について
ID情報: kent
投稿者: KENT

> こんにちは。
>
> どういう風に修正されたのか興味があったので見てみたのですが、実際は何箇所修正したのでしょうか。たぶん今回の修正だとneedタグの方が使えなくなってしまうようなのですが大丈夫なのでしょうか。
>
> これ→ <input type="hidden" name="need" value="name email 問合せ種別" />
>
> 文法的に正しいかどうかわかりませんが52行目
>
> push(@need,@tmp);
>
> も
> push(@$need,@tmp);
>
> のようにすべきな気がします。そうじゃないと空の配列にデータをマージしてる気が・・・そういえば空の配列を宣言してたの消えてますね。2箇所修正したのでしょうか。
>
> foreach (@$need) {
>
> 結局のところここを直してしまっているので@needの中身が全く処理されないという結果になりそうです。
>
> 一応未熟者ゆえ書いている事が正しいかどうか分かりませんのでKENT様で確認したうえで修正してください。
> それでは。

これは検証不足でしたね。
ただ今再修正しておきました。
ご指摘ありがとうございました。


記事No: 10796
投稿日: 2012/07/30(Mon) 08:01:46
タイトルRe: _name で指定しても必須項目になりません
ID情報: kano1107
投稿者: マリカ
URLhttp://dp23254268.lolipop.jp/postmail/postmail.html

初めまして、横入りで失礼します。

実は私もうりんさんと同じくpostmail v4.12を使用していたのですが、
v6.22にバージョンアップしたところ、
name値の先頭にアンダーバーを付けてもコマンドタグ(need)で指定しても入力必須にならない項目があり、さんざん試行錯誤したのですがどうにもならず、こちらにお邪魔しました。

自分の記入ミスかもと思い、デフォルトのままアップしてみましたが、デフォルトではコマンドタグで3項目が指定されているにも関わらず、全部空欄のままでも送信できてしまいます。

新しいバージョンを使いたいのですが、使えずに困っております。。
解決策が分かりましたらご回答いただけると有り難いです。


記事No: 10797
投稿日: 2012/07/30(Mon) 08:13:59
タイトルRe^2: _name で指定しても必須項目になりません
ID情報: collie
投稿者: コリー
URLhttp://collie.dip.jp/

まず6.22の一つ前のバージョン(2012/07/01づけになっている)ではアンダーバーで始まる項目も必須にならないという問題がありました。

そして先日新しくなったバージョン 2012/07/29づけでは今度はコマンドタグが使えないという問題が生じています。

両方の駄目な部分にあたっていませんか?もしそうなら最新2012/07/29づけのものの52行目を

push(@need,@tmp);

から

push(@$need,@tmp);

に変えてみてください。それで解決するかもしれません。


記事No: 10799
投稿日: 2012/07/30(Mon) 19:44:42
タイトルRe^3: _name で指定しても必須項目になりません
ID情報: kano1107
投稿者: マリカ
URLhttp://dp23254268.lolipop.jp/tomomi/studio/

コリー様

まずはご親切に早々のレスありがとうございました!

先ほど帰宅しましたらpostmailが更にv6.23にバージョンアップ(2012/07/30づけ)されてましたのでダウンロードしてみたところ、52行目が
push(@need,@tmp); から push(@$need,@tmp);
に修正されていました。

こちらを使用してフォームメールを設置しましたが、v6.22の時と同様にTELだけが
name値の先頭にアンダーバーを付けてもコマンドタグで指定しても入力必須になりません。
参照先は現在、コマンドタグで指定しております。

ちなみにv4.12では、同じフォームでTELもちゃんと入力必須になっていました。

当方、cgiの知識は全くないのですが、解決法はありますでしょうか?


記事No: 10800
投稿日: 2012/07/30(Mon) 20:16:06
タイトルRe^4: _name で指定しても必須項目になりません
ID情報: kano1107
投稿者: マリカ
URLhttp://dp23254268.lolipop.jp/tomomi/lesson2/

すみません、訂正というか補足ですが

v4.12では、コマンドタグ指定では駄目でアンダーバーではOKでした。
これはTEL項目に限った話です。


記事No: 10803
投稿日: 2012/07/30(Mon) 20:48:44
タイトルRe^5: _name で指定しても必須項目になりません
ID情報: collie
投稿者: コリー
URLhttp://collie.dip.jp/

デバッグしてみましたが、未入力判定を行った際に二つの空白が挿入されている事が原因ですね。何故そうなるのかは分かりませんが、どうしても二つスペースが入力されてしまうようなので、TELの名前を変えてみましょう。

そもそも同じ名前のフィールドが3つあるのはたぶんちょっとまずいのかなという気がします。TEL1 TEL2 TEL3とするか。一つのフィールドでTELとするかしてみてください。

これはCGI側のバグではないと思います。


記事No: 10804
投稿日: 2012/07/30(Mon) 23:50:19
タイトルRe^4: _name で指定しても必須項目になりません
ID情報: kano1107
投稿者: マリカ

コリー様

ありがとうございます。

結果的にはテキストフィールドを一つにする事で解決しました。

本当は3つにしたかったのですが、それぞれのname値を変えると

TEL1 = 03
TEL2 = 1234
TEL3 = 5678

のようになり、却って見にくくなってしまうので…。
(自分だけが見るのなら良いのですが、CCで送信者や関係者にも届いてしまうので)

ともかく、原因がわかり良かったです。

余談ですが、コリー様のサイトにもお邪魔させて頂きました。
私の苦手とする分野に長けていらっしゃるようですので、また何かあった時は是非お世話になりたいです(笑)
気が向かれましたら、またどうぞよろしくお願い致します。

今回は本当にありがとうございましたm(_ _)m


記事No: 10806
投稿日: 2012/07/31(Tue) 10:42:11
タイトルRe^5: _name で指定しても必須項目になりません
ID情報: collie
投稿者: コリー
URLhttp://collie.dip.jp/

マリかさんのようにマナーの良い質問者の方は歓迎ですよ。
また機会がありましたらお会いしましょう。ではでは


[検索ページ] [掲示板]