みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPでメールフォームを作るのはどれほど難しいのでしょうか?

はじめまして。
このたび、PHP初心者として安くでサーバをレンタルしたものです。
肝心なメールフォームを作らないとと思い、参考書を探しているのですが、
PHPのスクリプトとして処理するプログラムが載っていません。
インターネットでいろいろと探したところ、ソースは公開されておらず、
どうやらかなり難しそうだという結論に至りました。
基礎から勉強して作り上げるには何行程度のプログラムになりますか?
PHPを専門とされている方、よろしくお願いいたします。

投稿日時 - 2009-09-02 22:37:30

QNo.5258019

困ってます

質問者が選んだベストアンサー

単にメール送信するだけならこの程度で動きます。
実際には漢字コードをJISに変換したり、いくつかの約束事をする処理が必要ですけど。

<html><body><?php if ($btn=="送信") mail ("送り先メールアドレス", "サブジェクト", $mail); ?>
<form action="index.php" METHOD=post>
<textarea name="mail"></textarea><input type="submit" name="btn" value="送信">
</form></body></html>

投稿日時 - 2009-09-03 14:47:07

お礼

御回答いただきましてありがとうございます。
メール送信コードの原型がそれなのですね。勉強になりました。
最初見たとき、すごい!の一言に尽きました。ありがとうございました。

投稿日時 - 2009-09-03 19:57:17

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

「メールフォーム PHP」でGoogleで検索すると結構出てくると思います。

プログラムの行数で言うと、そんなにないはずですが、入力された、inputタグの中身の文字列が正しいものか(文字数が制限値以内か、入力がきちんとされているか)などの検証(バリデート)、実際にメールに送信するために、問題がないように不正な文字などを置換する処理(HTMLタグが挿入されていた場合は「<」を「&lt;」、「>」を「&gt;」に変換したりとか。)
よく言われるCSRF対策のようなセキュリティ対策をする、スパム対策にCAPTCHA(画像認証)を入れる、など、盛り込む内容が多くなるとどんどん行数も増えます。
増えますが、そんなに長くはならないと思います。

メールフォームということですが、一番最後に、メールを送信するというところ意外では、掲示板(BBS)を作るとか、申し込みフォームを作るというのもほとんど同じです。

メールフォームにこだわらずに、フォームアプリケーション全般で探してみてはいかがでしょうか。

ちなみに、以前別の方が使い方(カスタマイズ方法)で質問をされていたメールフォームのURLが手元にあるのでご紹介。
『ReCube Form』
http://www.yumemaboroshi.net/cgi/us-re-detail1.php?mode=sample&s01=5266&hash=83a8c83fa9ed10f7a442fd64c9a9e043

『Magical Form』
http://magical-form.com/

学習目的でないのであれば、このような完成されたものをご利用されるのも良いかと思います。

投稿日時 - 2009-09-03 02:02:43

お礼

御回答いただきまして、ありがとうございます。
さほど長くならないということで、もう少し勉強してみようと思います。
学習目的のためですので、せっかくURLを張っていただき有難いのですが、
もう少し時間をおいて考えてから、決めようと思います。
長文の詳しい説明どうもありがとうございます。

投稿日時 - 2009-09-03 04:25:16

ANo.1

>PHPでメールフォームを作るのはどれほど難しいのでしょうか?

専門としてる方 じゃないけどぶっちゃけていえば超簡単。

そもそもソースはあちこちで公開されてますが・・。


基礎から勉強して作り上げるには何行程度のプログラムになりますか?
 一行でかける。改行しなければww

投稿日時 - 2009-09-03 00:59:41

お礼

御回答いただきまして、ありがとうございます。
確か、レンタル系のメールサービスか、ソフトを新たに導入すれば、
1行で書けるかもしれません。検索不足だったのかもしれません。

投稿日時 - 2009-09-03 04:14:54

あなたにオススメの質問