
メールフォームに関する質問があります。
例えば、Aさん、Bさん、Cさんがexample.comで各自ページを公開しているとします。example.com/a.html~b.html~c.htmlという感じです。これらのページをDさんが訪問し、各ページにあるメールフォームを利用して3人に連絡を取ろうと試みます。3人はexample.comに自分のメールアドレスを登録しており、Dさんにメールアドレスを公開せずに、メールフォームを通じて自分にメールが送られてきます。メールフォームにはDさんのメールアドレスの入力が必須となっていますので、3人はDさんに返信することが可能です。
http://tokyo.kijiji.co.jp/c-Events-events-genera …
このリンク先の右側にあるメールフォームが正にそのものです。
この仕組みを、一般的なメールフォームと比較して、php初心者でも理解できるように教えていただけないでしょうか?
また、この形式のメールフォームは、無料スクリプトが出回ってますでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
フォーム処理は基本部分なので、まずは試行錯誤しながらやるといいですね。
とりあえず、私ならこうする、というフローでも書いてみます。
-----フォームのページ----
formの中に
「メールアドレス」 <input type="text" name="mail" /> など
「タイトル」
「内容」
を入力してもらい、隠し(<input type="hidden" name="id" value="A" />など)で、宛先のユーザーIDを持ち運ぶ
-----処理のページ----
各種値を受け取る。値があるか確認も含めて。
$id = $_POST['id']; など
データベースに宛先IDからメールアドレスを問い合わせて取得(mysql関数とか)。なければエラーでも。
mb_send_mail にてメール送信。
結果を表示
----------------------
これが基本的なものでしょうか。
まずは"動く物"を作ればいいんです。あとあとより綺麗な処理やコードに進化させればいいんですから。
あと注意が必要なのは、セキュリティはいろいろ大変ですから、しっかり勉強してくださいね。上の処理でも、セキュリティをしっかりやらないといけない箇所が、「値を受け取る箇所」「データベース処理」「結果を表示する」などにあります。
PHP XSS(クロスサイトスクリプティング) SQLインジェクション などのキーワードで検索するといろいろでてきます。
学ぶことがきりがないものですが、ゆっくり時間をかけてがんばってください。なにごとも簡単にはいかないものですからね。
なるほど!
概念的ではありますが、形が見えてきました。
セキュリティは重要ですよね。
興味が続く限り、ゆっくり勉強しようと思います。
この度はご説明ありがとうございました。
No.2
- 回答日時:
勉強のためにも、まず3人とか考えずにAさん一人だけとしてコードを書いてみてはどうですか?
それだけなら、フォームから内容を受けて、mb_send_mail でも使えば1発ですよね?
あとは、各ページごとに、宛先部分だけを書き換えるだけ、ということ。何人増えてもいっしょです。
一般的なメールフォームといっしょですよ。宛先を変えるだけ。その宛先は、どこから?データベース?テキストファイル?
宛先はデータベースからです。
phpを始めてまだ間もないので、これから勉強を重ねて頑張ろうと思います。
ご回答ありがとうございました。
No.1
- 回答日時:
通常のメールソフトを考えてみましょう。
To(宛先)に、aaa@exaple.com, bbb@exaple.com, ccc@exaple.comと書いたメールを作って、Dさんが送信すると、Aさん、Bさん、Cさんに届くはずです。
いくつの宛先にアドレスにメールを送るかはメールフォームの違いではありません。
PHPのmail関数を使う場合だとここが参考になります。
http://jp2.php.net/manual/ja/function.mail.php
ここのtoに「User <user@example.com>, Another User <anotheruser@example.com>」というのが載っていますが、カンマで区切っていくつも書けば、同時に同じ内容を送ることができます。
参考URL:http://jp2.php.net/manual/ja/function.mail.php
ご回答いただきどうもありがとうございます。返事が遅れてしまい申し訳ありません。
ご説明いただいた、DさんからA、B、Cさん宛てに同時に送信されるメールフォームではなく、DさんがAさんのページのメールフォームを使えばAさんに、BさんのページからはBさんに送信されるメールフォームというようなメールフォームの仕組みを教えていただきたいのです。
私の説明不足で誤解を招いてしまい申し訳ありません。
http://tokyo.kijiji.co.jp/c-Events-events-genera …
↑のサイトでは、各ページからそのページの掲載者宛てに連絡が取れるメールフォームが設置されています。掲載者のメアドは非公開です。この仕組みを教えていただけないでしょうか?
お時間がありましたら再びご回答お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッションを使用したページ遷移
-
【ExcelVBA】検索したデータを...
-
アップロードした画像の削除
-
cURL関数を使用したphpからのpo...
-
asp.netでのセッションを使用し...
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
wordの差し込み印刷で文字...
-
shシェルスクリプト 空白行の...
-
バッチファイルでpingの結果を...
-
開始と終了を指定して、その間...
-
【C#】DataGridViewの最大列数...
-
switch()文で値の大小比較
-
classの再定義エラーについて
-
Access グループごとのページ...
-
二重ログイン管理について
-
【VBA】EXCELブックを開かずに...
-
vb6で、特定のフォルダを常時監...
-
CSVファイルをブラウザのキャッ...
-
PHP 九九表
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ページネーション」で検索キ...
-
PHPで値を保持する方法
-
「表参道」が「侮Q道」となる
-
php 入力画面から確認表示画面...
-
php history.back()の戻るボタ...
-
PHP、MySQLで動作する検索プロ...
-
IFRAME内PHPのセッション変数取...
-
cookieの最大数
-
ページ移動での値の保持
-
設置されているページごとに宛...
-
POSTで受け渡したものを保存し...
-
処理時間のカウント
-
session,タスク作成,formでPOST...
-
セッション使用時のフォームの...
-
asp.netでのセッションを使用し...
-
必須入力項目チェック
-
php に関して質問です。 各ユー...
-
アクセスでのデータ保存について。
-
変数を送信したいのですが……
-
ログアウト処理
おすすめ情報