- ベストアンサー
メール送信フォームのCGI
CGI初心者なので メール送信フォームCGIを無料配布のところからお借りしました。 メール送信は上手くいっているのですが送信結果がブラウザ上に表示されます。 ↓ (確認メールを送信します以下の分) これを表示させないようにCGIのブラウザ表示の部分だけを削除したのですが、CGIが動かなくなります。 単純に削除するだけではダメなのでしょうか? 初歩的?なことかもしれませんが・・・よろしくお願いします。
- hanapaine
- お礼率71% (60/84)
- Windows XP
- 回答数4
- ありがとう数1
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>print "Content-type: text/html\n"; これはおまじないです。 これがないとHTMLが表示できません。 わからないまま、下手にソースを弄ると管理パスワードがもれてしまうなどといった事故も発生しかねませんので、基本はおさえてから触ったほうがいいですよ。
その他の回答 (3)
- cieux
- ベストアンサー率22% (100/443)
No2に追記します。 #は関数の分かれ目ではなく、ただのコメントです。 ここで何をしているのかがわかりやすいように書いているだけなので、サブルーチン単位とかで見てくださいね。 多分、次の#の下とかでprintしてるんじゃないかと推測します。
補足
すみません、printが抜けていました。 (補足の最後の行)↓ &jcode'convert(*mail, "sjis"); print "Content-type: text/html\n"; print "\n"; print "$header\n"; print "$mail\n"; print "$footer\n"; } 試しに上のprint 2行だけ消したりしましたがCGIが動かなくなります。 編集したものはprintしなくてはいけないってことはないんですよね・・?
- cieux
- ベストアンサー率22% (100/443)
No1です。すみません、URLは踏んでませんので、ソースは見てません。 編集が入ったようなので、書かれた全文が残っているのかわかりませんが、今書かれている部分は、表示に直接関係ありません。そこは、文字をエンコードしたり、特殊な記号(&とか)を編集したりしているだけです。 もし本当にこのコメント部分にこれだけの処理しかないのであれば、おそらくコメントが間違ってますね^^; その後で、print $mail;とかそういうことをしてるところはありませんか? そこが本当に表示しているところなんですが。 ある程度プログラムに感覚的には馴染んでいらっしゃるのでしたら、関数を調べる習慣をつけることと、あと、正規表現の勉強されると、ソースが読みやすくなると思いますよ。 頑張ってくださいね!
- cieux
- ベストアンサー率22% (100/443)
単純に削除するだけで問題ないです。ただし、当然ですが、表示ロジックだけを正確に削除してください。 変数を使ってprintしているなら、その変数をどこかほかの場所でも使っていたりしませんか。 ヒアドキュメントでprintしているなら、きちんと開始~終了まですべて消しましたか。 途中に関数が挟まっているのを、そのまま消したりしていませんか。 if文のif部分だけを削除したりしていませんか。 表示させるためのロジックがわからないので(配布元も表示されていませんし、不用意に送信はできませんから)、詳しく回答できませんが、原因はいろいろと思い当たります。 配布されていた元の状態に戻して、もう一度正確に削除してみてください。
補足
回答ありがとうございます。 配布元書いていませんでした。すみません。 ↓ http://www.tohoho-web.com/wwwsoft.htm 4番目にあるメール送信フォームです。 ↓ ↓の部分を削除したのですが・・・まずいですか? (それもよく分からないです^_^;) (#~から次の#の前まで) 全文はここには入りきれません、すみません。 よかったらアドバイスお願いします。 # # ブラウザ画面に送信結果を書き出す # { &jcode'convert(*header, "sjis"); &jcode'convert(*footer, "sjis"); $mail = $mailhead . $mailbody; &jcode'convert(*mail, "euc"); $mail =~ s/&/&/g; $mail =~ s/"/"/g; $mail =~ s/</</g; $mail =~ s/>/>/g; $mail =~ s/\n/<BR>/g; &jcode'convert(*mail, "sjis"); }
関連するQ&A
- CGI メールフォームについて
CGI初心者です。 メールフォームの項目を作った後、送信ボタンをクリックしてもブラウザが表示されない状態でした。送信ボタンをクリックしたときに表示されるファイルも作成しなければならないのでしょうか?CGIで使用できるようにするには、どのような設定をすればよろしいのでしょうか? 分かりやすく説明して頂けるとありがたいです。 よろしくお願いします。
- 締切済み
- CGI
- 添付ファイルを送信できるCGIメールフォーム。
文章と添付ファイルを送信できるCGIメールフォームを探しています。 レンタルではなく、CGIを配布しているサイトで、できれば無料が良いです。 デスクトップ壁紙などの大きなファイルも送信できるメールフォームが良いです。サーバーは2000MBありますので特に問題はないと思います。 オススメのがありましたら教えてください。
- ベストアンサー
- CGI
- メール送信フォームで。
CGI初心者です。 下記メールフォームで「内容確認画面を出さないで送信する」の文を削除して、 チェックボックスも削除したいのです。 ただ、フォーム上では削除されているように見えても、送信ボタンをクリックすると、すぐ確認画面が自動的に出てくるようにするにはどうたしら良いのでしょうか。 cgiファイルの設定で行うのでしょうか? 質問に不備がありましたら、補足致しますので、よろしくお願いします。 <input type="submit" VALUE="確認"> <input TYPE="reset" VALUE="リセット"> <input type="checkbox" name="no_check" value="on">内容確認画面を出さないで送信する</font>
- ベストアンサー
- CGI
- メール送信フォームについて
Web制作を独学で学び、現在 知人のサイトを無料で制作しています。 CGI初心者の上、まったく時間的に余裕がなく困っています。送信メールフォームについて2点教えてください。 ***一応、過去の質問を見たつもりですが、見逃していて、すでに同様の内容があった場合はお許しください。*** 1.商品購入の際、買い物カゴを設置するまでは、メールフォームでの受注という形にしたいのですが、CGIをどのように設定すればよいのか、わかりません。 サーバーはCGIをサポートしていますので、設置は可能です。フォームも独自のものを使ってよいようです。(フォーム自体はDreamweaverで作成しております。) 2.メールフォームは、商品購入用とお問合せ用に分けたいのですが、それは可能なのでしょうか?また、可能で設定できた場合、かなりサーバーに不可がかかるものかも教えてください。 初歩的な質問ですみません!!
- ベストアンサー
- CGI
- Dreamweaverメールフォーム作る際のCGIスクリプト書き換えについて
MX2004でメールフォーム入りのWebページを作っていますが、フォームを作り終えて、配布されているメールフォーム用CGIスクリプトを書き換えるところで行き詰ってしまっています!name="submit"の送信ボタンを押したら、各入力項目を単純にメール送信してくれて、「送信完了」ページを表示させるだけで十分なのですが、配布されているスクリプトプログラムのどこを削除したり書き換えればいいのかが理解できません。レンタルサーバーはロリポップを使用しています。どなた様かアドバイスをお願いします!!
- 締切済み
- CGI
- CGIを使ったメールフォーム
CGIを使ったメールフォームを使いたいのですが、無料で配布しているサイトはありませんか? 当方、cgiの知識がありませんので作ることができません。用途は、習い事の申し込みに使いたいと思っています。 商用となると思うので多少の出費は構いません。また、レンタルは考えていません。
- ベストアンサー
- その他(インターネット・Webサービス)
- CGIによるアンケートフォームのメール送信
私は今までHTMLでアンケートフォームを作成していました。しかし、HTMLで次のコードを組み込むとメール送信時に警告が出てしまいました。 <form action="mailto:○○○@△△△.co.jp"> そこで、いろいろなアンケートフォームのソースを見てみるとCGIが使われているようでした。 CGIはまったくの初心者です。 CGIでのアンケートフォームの作り方を教えてください。
- ベストアンサー
- CGI
- フォームで送信ボタンを押すと、postmail.cgiのプログラムリストが表示してしまう。
CGI初心者です! http://www.kent-web.com/data/postmail.htmlを参考にして cgiで送信フォームを作成しています。 perlへのパスも確認し、sendmailのアドレスも $mailprog = /usr/lib/sendmail; で確認して、動作させました。 また、cgiのプログラムはcgi-bin配下に格納し、 $script = ../../cgi-bin/postmail.cgi; という形で修正しました。 ところが、フォームで送信ボタンを押すと、postmail.cgiのプログラムリストがブラウザで表示してしまい、メール送信が出来ない情況です。 うまく動作させたいのですが、どのようにすればよろしいでしょうか。
- 締切済み
- CGI
- フォーム送信後、自動でメール送信するCGI
フォームであらかじめCGIで指定しておいたメールに送信(メールやコメントなどを送信)をすると、(たとえば)「メールありがとうございました。」と自動でフォームに入力してもらったメールアドレスにメールを出すCGIってありますか? ご回答お待ちしております
- 締切済み
- CGI
- ★簡単なメール送信フォーム教えて!(cgi)
レンタルサーバを借りました。 ホームページも独自ドメインで作成して、 独自のメールアドレスで送受信できました。 そこでホームページ上にメール送信フォーム作成したい。 つまりよくある、 1)メールアドレス 2)氏名(ハンドル可) などを入れて「送信ボタン」を押したら、 私宛にメールが送られてくるやつです。 そしたらある人が下記のURLに雛型があるので、 無料ダウンロードすれば作れるよと教えてくれました。 https://www.synck.com/contents/download/cgi-perl/mailform_jcode.html そこでダウンロードして勉強したら、 cgi & Perl で書かれていて、レンタルサーバ屋に 聞いたら、うちは cgi 使えますよ、ということ。 しかし上記URL の内容が意外と難しくて脱帽状態(^^; そこで上記1)と2)だけのような簡単なフォーム、 教えてもらえないものでしょうか? ちなみに、C言語やVBなどのプログラムは解ります。
- ベストアンサー
- CGI
お礼
回答、ありがとうございました。 もともと、基本が全然なかったので苦戦しましたが・・ 色々試してみて何とか動くようになりました。 ・・・っがまた別の問題が・・・ また改めて質問したいと思います^_^; ・・にしてもCGIって難しいですね。。もっと基本から勉強したいと思います。