コメント用に残してあります。
設置解説は新しいドキュメントをご覧ください。
現在サポートはしておりません。
重篤な問題に関しては直せる保障がありませんので、
他のスクリプトをご検討頂いた方が解決が早いかもしれません。
コメントする前にお読み下さい
「エラーが出ました。どうしたらいいですか?」という知恵袋風の質問はやめてください 🙁
不具合と思われる動作については、サーバーのエラーログをメールで送っていただければ、解決が早くなる可能性が高まります。
手に入らない場合は以下について出来るだけ具体的に明記してください。
- 設置して問題が発生したサーバーの仕様(php.ini、レンタルサーバー名等)
- 受信に使用したメールクライアント
- エラーが発生するまでの手順
- 表示されたエラー(番号・内容)や状態
mitsu さん >
ショッピング目的で項目が70個もあるとEC向けCGIを使った方が早い気がしますが…(笑
予約フォームを作った時かなり項目数が多かったことがあるので、あれば便利そうですね。
フォームや確認画面で未入力の項目を非表示にするだけならJavaScriptでも出来ますが
メールには未入力項目も全て表示されてしまうので項目が多いと微妙だと思います。
スクリプトの対応は次以降のバージョンアップで、ということになるのですが
一足先にβ版をメールでお送りしますので、そちらを試してみてください。
Tenderfeel様
β版の送信、ありがとうございます!
わざわざ作成していただけるとは思ってもみなかったので感激です!
動作は問題なく、思った通りのフォームを実現できました!
本当にありがとうございます。
1点だけ気づいた点ですが、
error.phpのheadタグのとじタグが抜けていました。
このたびはありがとうございます!
今後とも何卒よろしくお願い致します。
Tenderfeel様
はじめまして。zeromailを使わせて頂いております。ありがとうございます!
質問なのですが、
確認画面やエラー画面の枠内のサイズはどこで変更すべきなのでしょうか?
むりやり変更したところ、表のサイズはなんとか変更できたのですが、
表上の表タイトル(メッセージ)を表示してある部分が変更できず飛び出したままです。
その関係か、送信・リセットボタンが表の中央の位置に来ないのです。
(表タイトル部の中央に位置している状態です)
この状態を改善できる方法はありますでしょうか。
お忙しいところ申し訳ありませんが、よろしくお願い致します。
key さん >
デフォルトのCSSだと確認画面・送信完了画面メッセージのスタイルは
zeromail.css 229行目付近 .zeromail span.error と 240付近 .zeromail span.confirm です。
横幅の指定は特になく、marginとpadding で空白を作るようになっています。
なのでmarginの左右50pxをより小さくするか、横幅をpxで指定してmarginの左右をautoにすれば直ると思います。
ボタンは165行目付近の .zeromail .button でセンタリングしています。
ボタンをブロック要素にしない限りはそのままで大丈夫だと思います。
はじめまして。
今回はじめてzeromailを利用させていただきます。
heteml サーバでは問題なく送信完了→管理者宛のメールも自動返信メールも届いたのですが
同じものをxserver に置いた所、送信完了画面まではすんなり行くものの、どちらのメールも届きません。
何か特別な設定が必要でしょうか?
サーバー側の問題なのかも知れませんが、こちら側で何か対応できるのであればお教えいただけると助かります。
どうぞよろしくお願い致します。
すみません。上記の投稿ですが、xserver側より返答がありました。
試用期間でmail送信に制限をかけているとの事でした。
お騒がせして申し訳ありませんでした。
Tenderfeel様
こんばんは。
ご丁寧なご回答ありがとうございます!
おかげさまで思うとおりのサイズに変更することができました。
ボタンの位置なども特に問題なさそうです。
本当にありがとうございました。
今後ともよろしくお願い致します。
Tenderfeel様
こんにちは。
先日はありがとうございました。
度々申し訳ありませんが、質問させて頂きます。
送信・リセットボタンに、作成した画像を使用したいのです。
htmlにはで記述し、
cssには.zeromail button[type]あたりにbackgroundで指定したのですが
(こうしないとIE7の入力画面でボタンが表示されませんでした)、
IE8、FireFoxには問題なく表示されますが、
IE7のチェック画面・エラー画面にボタンが表示されません。
どのように対処すればIE7でも問題なく表示させることができるのでしょうか。
申し訳ありませんが、よろしくお願いいたします。
上記の文章の途中が表示されませんでしたので、再度お送りします。
5行目は「htmlはinput type=”image”で記述し、」
です。
よろしくお願いいたします。
key さん>
CSSに関することは該当するチュートリアルを探す方が早いですよ。(基本的に平日しか回答しないので)
確認画面とエラー画面はzeromail.php がボタンを表示しているので
直接変更するのではなくCSSで全て行った方が早いです。
この記事の方法が参考になると思います。
http://tenderfeel.xsrv.jp/css/630/
Tenderfeel様
お忙しいところありがとうございます!
教えて頂いたページ「フォームのボタンをスタイルシートで画像ボタンに変更する」や
「buttonタグにボタン画像をそのまま入れる」を試してみたのですが、
やはりIE7で確認するとcheck.phpとerror.php画面ではボタンが表示されませんでした・・・。
他にも手だてがないかいろいろ確認してみます!
ご回答いただきありがとうございました。
key さん>
ボタンのスタイルを変更する場合の修正箇所はzeromail.css 170~205行目で、内訳は次の通りです。
170行目→ボタンの横幅(共通) 175行目→ボタンのデザイン(共通) 189→マウスオーバー(共通)
193行目→送信ボタン 197行目→送信ボタンマウスオーバー 202行目→リセット・戻るボタン
193行目、202行目から始まる各ボタンのデザインを設定している場所に画像化するCSSソースをコピペすれば変更できます。
1. 送信画面のボタンをtype=”image”で画像にしても、確認とエラー画面はスクリプトが違うボタンを出力するので変わりません。
2. zeromail.cssでは属性セレクタを使ってボタンにスタイルを設定していますが、
IE7はDOCTYPEが無いとそれが有効になりません。
http://allabout.co.jp/gm/gc/23913/
3. display:inline-block を使うとIE7以下でボタンが消えます(未対応な為)
4. 同時に読み込まれているスタイルシートが影響を及ぼす場合があります
Tenderfeel様
こんばんは。
ご丁寧なご回答ありがとうございます!
ご教授頂いたことも含め、いろいろ挑戦してみたのですが、
どの方法でもやはりIE7ではボタンが表示されません。
(2と3はすごく期待したのですけれど;)
今回は入力画面と完了画面(html)のみ画像を使い、
チェック画面とエラー画面(PHP)には画像を使用しないことにしました。
お忙しい中、たくさんの解決方法をご提示頂き、本当にありがとうございました!
今後もよろしくお願い致します。
今回はじめてzeromailを使わせて頂きます。
version 1.4.7をダウンロードしていますが、ラジオボタンの必須項目の設定が良く判りません。
過去ログで
ラジオボタンを必須にする場合はhiddenフィールドを使ってみてください。
とありますが、
大人
こども
問わず
上記のラジオボタンの選択を必須にする場合はどのように記述すればいいのでしょうか?
お忙しいところ恐縮ですがよろしくお願いいたします。
うまくエンティティ化されませんでした。
すみません
過去ログで
ラジオボタンを必須にする場合はhiddenフィールドを使ってみてください。
<inputtype="hidden"name="require"value="name値,name値"/>
とありますが、
<inputtype="radio"name="taisyo"value="大人"/>大人
<inputtype="radio"name="taisyo"value="こども"/>こども
<inputtype="radio"name="taisyo"value="問わず"/>問わず
上記のラジオボタンの選択を必須にする場合はどのように記述すればいいのでしょうか?
お忙しいところ恐縮ですがよろしくお願いいたします。
yoshy さん >
<input type=”hidden” name=”require” value=”taisyo” />
です。
早々のご回答ありがとうございます。
type=”radio” や選択された値はどう記述するのでしょうか?
よろしくお願いいたします。
以下の様にするという意味ですね。
<input type=”hidden” name=”require” value=”taisyo” />
<inputtype="radio"name="taisyo"value="大人"/>大人
<inputtype="radio"name="taisyo"value="こども"/>こども
<inputtype="radio"name="taisyo"value="問わず"/>問わず
すみませんでした。
Tenderfeel様、ご教授ありがとうございました。
送信テストを行ったところ
フォーム送信先に自動返信がされていないことが判りました。
色々調べたところ、サーバーがセキュリティの関係で
sendmailではなqmailを使っているとのことです。
フォーム送信先に自動返信させることはできないのでしょうか?
お忙しいところ恐縮ですがよろしくお願いいたします。
yoshy さん >
情報が少ないため何とも言えません。どこのサーバーでしょうか?
まず前提として、php_info()を実行した時表示される情報の中にあるsendmail_pathにURLが明記されていないとメール送信が行えません。
http://www.php.net/manual/ja/function.phpinfo.php
サーバーにエラーログに何かエラーが出ていないか、
サーバーのFAQなどにsendmailに関する設定について書かれていないか確認してみてください。
ご返事が遅くなってすみませんm(__)m
sendmail_pathは以下です。
/usr/sbin/sendmail -t -i
色々試してみたところ
サーバーと同じドメインだと送信メールの控えが送られ
違うドメインからだと送信メールの控えが送られないことが判りました。
abc.ne.jp上でzeromailを使用して
yoshy@abc.ne.jpのドレスには送信メールの控えが送られ、
yoshy@def.ne.jpのドレスには送信メールの控えが送られません。
サーバーの仕様の問題でしょうか?
yoshy さん >
「他ドメイン宛の送信だけ出来ない」という症状はsendmailの設定に依存している可能性が高いです。
(ログを見れば何かしらメッセージが出ているのではないかと思いますが)
sendmailの設定で他ドメインへの送信が不可になっているかどうか
サーバーの管理者に問い合わせてみてください。
いつもお世話になっております。管理画面機能を使っていて2つほど質問がでてきました。
1.自分が使っていなかったので気が付かなかったのですが、
IEだとフォーム閲覧・投稿は普通にできますが、
管理画面からログインしようとするとパスワードを入れてもログインすることができませんでした。
他のブラウザだと問題なくログインできます。
変更点はadminディレクトリのパーミッションを707にしているぐらいです。
2.複数行入力のテキストエリアに、< や > (本来は半角です)などでかっこが入っている文章があると
管理画面からCSVファイルをDLしたときに、&lt; や &gt; (本来は半角です)に
変換されて表示されてしまうのですが、これはDL後に置換で直すしか方法はありませんでしょうか。
すいません、先ほどの1.のほうですが、自分のところでIEで試したらログインできました。
ただ別のPCで試したところログインできず。。。バージョンもIE8で同じなので
何が関与してるから不明ですので、こちらはもう少し調べてみます。。。
バージョン1.4使用中です。
ログ記録件数が15000件を超えると
ログ消失が起こりやすくなっています。
過去に2回ほどログが全て消えてしまいました。
管理画面でバックアップをかんたんに作成できるようできませんか?
また、3000件を超えるとログイン後のログを一覧で表示で読み込みに非常に
時間がかかってしまいます。表示件数を指定することはできませんでしょうか?
素晴らしいスクリプトなので改善を期待しております。
11-03-25 (金) 17:48に質問したzeromailで「他ドメイン宛の送信だけ出来ない」件ですが
サーバー管理者への問い合わせに時間がかかってしまいました。
管理者からの返答では
ユーザが入力したアドレスが同じドメインの場合だと同じサーバー内でメールをやり取りしてしまうため届いたのですが、
違うドメインになると相手側のメールサーバで「localdomain.localdomain」というドメインは存在しないのではじかれてしまいます。
対処方法としては、メール送信のプログラムでエンベロープフロムに管理者のアドレスを
設定するように記述してください。
メールサーバーがqmailになるので、qmailで設定されるような記述にする必要があるのでご注意ください。
という回答でした。
envelope Fromに管理者のアドレスを設定というのはどのようにすればいいのでしょうか?
お忙しいところ恐縮ですがよろしくお願いいたします。
zeromailで
<input name="kounyuusya" type="text" size="50" />
というようなテキストフィールドの入力値のことですが
半角文字では入力内容の確認に表示され
_reqの必須確認もされるのですが
全角文字だと表示や必須確認がされないという状態です。
何が原因なのでしょうか?
お忙しいところ恐縮ですがよろしくお願いいたします。
現在転職に関る引越し作業が大詰めになっており、サポートに携われない状況です。
特にバグと疑われる所作につきましては原因究明に時間がかかるので、
直ぐ対応することが困難となっております。申し訳ありません。
shunshuu さん>
1の件は他のスクリプトでもログインが出来ないという現象が発生することがあるんですよね…
何が原因かは具体的に分からないので此方でも確認してみます。
2については出力時にデコード処理入れるようにします。
もんもん さん>
管理画面機能はリクエストで実装したものでして、ぶっちゃけ実験段階のオマケみたいなものだったりします。
私が元々「管理画面なんて要らないでしょ」という考え方をしていたので、どのような使い方をされるのか
報告を聞いて都度対応していくつもりでいたのですが、1万件もログが保存されるケースがあるとは正直驚いております。
回避する策は色々とあるのですが、今上記理由で時間が取れないので対応は暫く後になってしまいます。
ログ保存先が普通のファイルで容量が多くなると色々と問題が出てきますので、こまめにログのダウンロードを行ってください。
Hiro さん>
バグかもしれません。が、確認してみないと何とも言えません;
フォームがあるページの文字コードはUTF-8以外になっていたりしますか?
yoshy さん>
zeromail.php を次のように修正してみてください。
525行目
@mb_send_mail(MAILTO,$mailsubject,$message,$mailheader);
↓
@mb_send_mail(MAILTO,$mailsubject,$message,$mailheader, “-f”.MAILTO);
572行目
@mail(MAILTO, $subject, $msg, $mailheader);
↓
@mail(MAILTO, $subject, $msg, $mailheader, “-f”.MAILTO);
607行目
@mb_send_mail($formitem[‘email’], REPSUBJECT, $replymessage, $replyheader);
↓
@mb_send_mail($formitem[‘email’], REPSUBJECT, $replymessage, $replyheader, “-f”.MAILTO);
ZEROMAILを拝見し、とても分かりやすく使いやすくまとめてくださっていて使ってみたいと思いました。
添付ファイルにエラーがあり(ファイルサイズが大きかったりなど)、エラー画面から入力画面に戻ったときに
他の項目はそのまま残して、添付ファイルのみ削除することは可能でしょうか?
サンプル見る限り、winではファイルが削除されていますが、macではファイルが残ります。
お忙しい中、大変恐縮ですがよろしくお願い致します。
su さん>
>添付ファイルにエラーがあり(ファイルサイズが大きかったりなど)、エラー画面から入力画面に戻ったときに
>他の項目はそのまま残して、添付ファイルのみ削除することは可能でしょうか?
ディレクトリのことかフォームの入力欄のことか分からないのですがどっちの事でしょうか?
フォームの入力欄のことであれば、履歴で戻っているだけなので値が残るのはブラウザの仕様ということになります。
Tenderfeelさま
お返事ありがとうございます。
フォームの入力欄のことです。
ブラウザの仕様によるということなのですね。。。
winだと問題ないのですが、macのFirefoxとSafariだと、
画像のサイズが大きくてエラーが起こり、入力画面に戻ってきても
画像が登録されたままになっていて削除できないのです;
何かいい方法はないでしょうか。
画像の選択ボタンのとなりにクリアボタンを
設置するのは簡単なことなのでしょうか?
色々調べては見たもののphp初心者なもので。。
大変恐縮ですが、どうぞよろしくお願いいたします。
こんにちは引っ越しでお忙しいところご回答頂きありがとうございます。
ご指示のように525行目、572行目、607行目の変更を行ったのですが
送信されません。
よろしくお願いいたします。
素晴らしいプログラムを有り難うございます。
先ほどダウンロードし、設置を試している所ですが
full_table内のcontact.htmlにおいて
生年月日の日付のとなっており
整形用の記述
と相違を起こしているようです。
また、
がうまく作動せず
この一行を消すと動作しているようです。
もう少し検証します。
お世話になっております。フォーム送信画面で登録アドレスや名前を
表示させたいのですが、可能でしょうか?
○○様
問合せの控えを登録時のアドレスxxx@xxx.jpへ送信致しました。
こんにちはサンタです。zeromail使わせていただいて、設置途中です。すみません。ローカルでは問題なのですが、サーバーでUPしてブラウザで確認すると、table のthの部分、「名前」「住所」「Email」のTable HeaderのCSS,
zeromail.cssにて、
.zeromail tbody th{
width:130px;に致しましたが、ローカルでは幅が広くなり反映されるのですが、サーバーにUP致しますと、貴サイトのdemoのように、20pxぐらいに狭くなってしまいます。どのようにすれば、cssの130pxのまま映されますでしょうか?
よろしくお願い申し上げます。
失礼致します。
さんた さん>
別のスタイルシートを読み込んでいる場合、そのスタイルルールの影響を受けている場合があります。
(width:20pxくらいにしているスタイルルールが他にあるならその可能性が高い)
CSSの優先順位がどのように決まるかについては http://tenderfeel.xsrv.jp/css/75/ をご覧ください。
手っ取り早く上書きしたいのであれば !important が有効です。
width:130px !important;
Tenderfeel さま
お忙しい中、御親切にありがとうございます。感謝です。さて、どうも、chrome12.07.のバグのようです。他のブラウザでは、FF、opera,safari,ie9でも大丈夫でした。でも、うーん、chromeできちんと表示させたいのですが、、、なにか方法は思いつきませんでしょうか?width:25%も色々触らせていただきましたが、chromeのみ適応自体出来ませんでした。色などは変化いたしますが、widthだけが効きません。chromeのアップデート待ちでしょうか?もしよろしければ、ヒントだけでも頂けましたら、とても嬉しいです。
http://www.bashar-wakuwaku.com/mail_form/contact.html
カレンダー共々、ありがとうございます。
Tenderfeel さま
さんたです。自己解決いたしました。
chrome12での現象?を
white-space:nowrap
で解決いたしました。
ありがとうございました。またどうぞ宜しくお願いいたします。
Tenderfeel さま
さんたです。
連続で失礼いたします。著作権表示についての確認です。読ませて頂きました。
ZeroMail ContactFormの文字を変更の上、ZeroMail ContactFormのはhiddenにて、ソースコードで見ることができるように考えております。
フォームの色を変更致しました。
規定内でしょうか?
宜しくお願いいたします
Tenderfeel さま
なんどもすみません、本当に。。。失礼を承知の上で。
一番肝心である、送り先のメールアドレスの設定はどちらにあるのでしょうか?<input タグのmailto:でするものと思っておりました。
zeromail.phpのところを修正するのでしょうか?
すみません、御教授下さい。
宜しくお願いいたします
失礼いたします
解決いたしました。
init.phpなのですね。CHANGELOG.txtからきちんと読むべきでした。勉強になりました。失礼致しました。
すみません。やはり、init.phpにメールアドレスを書き換えても、自分の方へ届きません。設定
tsurudasanta@gmail.com(mainで使っております)
tsuruda@bashar-wakuwaku.com(サブで使っているものを試してみました)
すべて保存をし、FTPで転送いたしますが、自分へ、メールが届きませんでした。
もしよろしければお願い申し上げます。
失礼致します。
さんた さん>
著作権表記についてはこちらに書いておりますが、
http://zeromail.webtecnote.com/template.php#copyright
必須なのは配布サイトへのリンクとZeroMailというテキストです。サンプルのタイトル等は変更して構いません。
メール転送については「送信できない」という結果情報だけだと解決策は提供出来ません。
・CGI によるメール送信が許可されている
・PHPの mail と mb_send_mail 関数が使用できる
上記2点が動作に必須ですが、これがクリアされているのであれば
サーバーのエラーログに送信エラーが出ていないか確認してみてください。
(エラーログの確認の仕方はサーバー管理者または運営者へお尋ねください)
サーバーにインストールされているメール転送エージェントによっては、相性が悪くて送信出来ない場合があります。
(現時点で未解決なのはqmail です)
Tenderfeel さん
さんたです。お忙しい中本当にありがとうございました。自分の力不足と痛感し項垂れておりますが、もっと勉強致します。さて、ドメインキングサーバーはQmailでした。技術サポートに電話したところmailと mb_send_mail 関数を使用できるそうです。CGIからのメールも許可されているようです。
ログ自体が難しく、phpを読むことが出来ないです。素晴らしいプログラムなので、スキルを上げるために動作までは持って行きたいと思っておりまさう。いつか恩返しが出来ますよう、頑張ります、宜しくお願いいたします。
最後の送信のページまで生きます。設置はうまくいっているようです。パーミッションphp[644]
http://www.bashar-wakuwaku.com/program/mail_form/contact.html
*************************************[Thu Jun 23 11:24:39 2011] [error] [client 182.23.223.193] File does not exist: /var/www/vhosts/bashar-wakuwaku.com/httpdocs/favicon.ico
[Thu Jun 23 11:24:54 2011] [error] [client 182.23.223.193] PHP Parse error: syntax error, unexpected T_STRING in /var/www/vhosts/bashar-wakuwaku.com/httpdocs/program/calendar/index.php on line 2
[Thu Jun 23 11:25:46 2011] [error] [client 182.23.223.193] PHP Parse error: syntax error, unexpected T_STRING in /var/www/vhosts/bashar-wakuwaku.com/httpdocs/program/calendar/index.php on line 2
[Thu Jun 23 11:25:59 2011] [error] [client 182.23.223.193] PHP Notice: Undefined index: url in /var/www/vhosts/bashar-wakuwaku.com/httpdocs/program/mail_form/init.php on line 228, referer: http://www.bashar-wakuwaku.com/program/mail_form/contact.html
[Thu Jun 23 11:26:11 2011] [error] [client 182.23.223.193] PHP Notice: Undefined index: url in /var/www/vhosts/bashar-wakuwaku.com/httpdocs/program/mail_form/init.php on line 228, referer: http://www.bashar-wakuwaku.com/program/mail_form/contact.html
[Thu Jun 23 11:26:12 2011] [error] [client 182.23.223.193] PHP Notice: Undefined variable: MAILCODE in /var/www/vhosts/bashar-wakuwaku.com/httpdocs/program/mail_form/zeromail.php on line 692, referer: http://www.bashar-wakuwaku.com/program/mail_form/check.php
このような記述がドメインキングに御座いました。失礼致します。
sendmailはインストールされておりませんが、qmailの機能でsendmailがご利用いただけます。
sendmailのパス : /usr/sbin/sendmail
sendmailプログラムをエミュレートしたものであるためsendmailプログラムへ渡している
引数の内容によってはメール送信が行えない場合がありますのでご注意ください。
はじめまして。
素晴らしいスクリプトありがとうございます。
アップしているサーバー側の問題かと思いますが
最新のバージョンを使用した場合、
■通常版
入力フォーム→確認画面(エラー):送信データがありません。
となりメール&添付ファイルを送信することができません。
■AJAX
では メールは遅れるのですが、添付ファイルは送られてきません。
通常版でも、ごくまれに確認画面が表示されることがあるのですが
入力した内容が表示されず、空のセルになっています。
恐れ入りますが、考えられる原因などございますか?
さんた さん >
qmail に関しては送信トラブルが原因不明のまま未解決となっているので、
他のメールフォームスクリプトを探した方が早いと思います。申し訳ありません。
sin さん >
Ajaxなら送信出来るということはセッションに問題があるのかもしれません。
(なおAjax版は添付ファイル送信に対応しておりません)
サーバーがセーフモード環境でPHPを動かしているかどうか確かめてみてください。
また、サーバーがエラーを吐いていないかログを確かめてみてください。
もしセーフモード環境でセッションに関するエラーが出ていたら素の状態で動かすことは困難ですので、
セーフモードの動作を保証しているスクリプトか、Perl版のメールフォームスクリプトをお探しになる事をお勧めします。
Tenderfeel 様
返信ありがとうございました。
環境なのですが
PHP5.1.6 safe_mode Off
でした。
zeromail.phpの$formitemをバラして個別に設定すると動作するのですが
バラさない方法はございませんでしょうか。
ご教授お願いいたします。
sin さん >
前のレスにも書きましたがサーバーのエラーログを確認してください。
zeromailに関するphpが吐いているエラーがあったらコメントかメールで送ってください。
すばらしいスクリプトの公開ありがとうございます!
早速利用をさせていただきたいのですが、
未入力項目の送信スキップ機能を利用する際、
ini.phpファイル内の
define(‘ZM_EMPTY_VALUE_SKIP’, false);
の部分をtureに変更以外に何か作業は必要なのでしょうか?
上記作業で動作しなかったのもので….。
ご教授よろしくお願いいたします m(_ _)m