質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1320閲覧

画面ロードしないでメールを送る方法について

TChanger

総合スコア69

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/09/19 18:10

大分素人なので、宜しくお願いします。

以下コードにてメールを送信したいんですが、
(ほぼどっかから見つけたモノをコピペで少しいじっているだけです汗)

javascript

1 $(document).on('click','#button',function(e){ 2 3 if( $("#name").val() || $("#kana").val() || $("#email").val() || $("#message").val() ){ 4 console.log('in'); 5 6 var data = $("#form").serialize(); //送信されたデータ 7 $.ajax({ 8 9 type: "POST", 10 url: "../service/mail.php", //PHPを呼び出す 11 data: data, //記入されたデータを渡す 12 success: function(xml){ 13 alert("送信しました。"); 14 } 15 }); 16 17 } else 18 if( !$("#name").val() || !$("#kana").val() || !$("#email").val() || !$("#message").val() ){ 19 alert("入力されていない箇所があります。"); 20 return false; 21 } 22 }); 23

url: "../service/mail.php",

この部分でPHPを読み出している、この指定方法が悪いのか

POST http://localhost/service/mail.php 404 (Not Found)

と出てしまいまして、上手く取れませんでした・・・汗
環境がローカル環境であることが原因なのかと思ったのですが、
対処法がわからず、ここに質問させて頂きました。

ちなみに、PHPのコードも載せておきます。

php

1<?php 2 mb_language("Japanese"); 3 mb_internal_encoding("UTF-8"); 4 5 //設定 6 $sendmail = 'service_info@kaisousya123.com'; //問い合わせ先メールアドレス (自分のメアド) 7 $from = $_POST['email']; //送信元メールアドレス 8 9 //管理者へ届くメール 本文 10 $body = sprintf("お名前:%s\n" ,$_POST['name'] ); 11 $body .= sprintf("カナ:%s\n" ,$_POST['kana'] ); 12 $body .= sprintf("メールアドレス:%s\n" ,$_POST['email'] ); 13 $body .= sprintf("内容:%s\n" ,$_POST['message'] ); 14 15 sendMail($body,'お問い合わせ',$sendmail,$from); 16 17 //送信者へ届くメール 本文 18 $body = "以下の内容でお問い合わせを受け付けました\n\n"; 19 $body .= sprintf("お名前:%s\n" ,$_POST['name'] ); 20 $body .= sprintf("メールアドレス:%s\n" ,$_POST['email'] ); 21 $body .= sprintf("内容:%s\n" ,$_POST['str'] ); 22 23 sendMail($body,'お問い合わせありがとうございます',$from,$sendmail); 24 25/* 26 * メール送信処理 27 */ 28 function sendMail($body,$subject,$sendmail,$from){ 29 $header = "From: $from"."\n"."X-Priority: 1"."\n"."X-Mailer: PHP/".phpversion(); 30 mb_send_mail($sendmail,$subject,$body,$header); 31 } 32?>

すみません。
宜しくお願い致します!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

popobot

2016/09/19 21:16

404 (Not Found)なので、phpファイルが見つからないようですね。URLが違うのだと思いますが、実際のURLはどこなのでしょうか?
TChanger

2016/09/20 00:11

申し訳ありません。 ローカル環境でのURLは JS部分→C:/www/site/js/toppage php部分→C:/www/site/service/mail.php html部分→C:/www/site/index.php となっておりますが、このような書き方で大丈夫でしょうか??汗 宜しくお願い致します。
popobot

2016/09/20 00:16

Apache等は使っていないのですか?
TChanger

2016/09/20 00:18

言葉足りなくてすみません。 使用しております。 Apacheで指定しているフォルダ名を「www」にしています。
popobot

2016/09/20 00:25

だとすると、ブラウザのURLにhttp://localhost/siteと入れるとメールフォーム画面が出るという認識であっていますか? だったら、/site/service/mail.phpをjsのurlで指定すればいい気がします。
TChanger

2016/09/20 01:47

で、できましたー! が、メールがキませんでした・・・汗 PHPに何か問題があるのですね・・・
popobot

2016/09/20 02:03

うーん、なんでしょうね。Windowsだし環境の問題も考えられそうですね...残念ながら自分はWindowsは弱いので、試行錯誤してうまく行かなかったら、別途質問するのがいいかもしれませんね。
kei344

2016/09/20 02:21

まだ質問が「受付中」になっていますが、いったん「解決済」にされてはいかがでしょうか。
guest

回答1

0

ベストアンサー

phpの呼び出し先が違いますので、以下のようにすれば動くと思います。

javascript

1 url: "/site/service/mail.php", //PHPを呼び出す

相対パスの場合は、"./service/mail.php"こうです。

※情報依頼で解決していますが、あとで見た方のために、回答も載せておきます。

投稿2016/09/20 02:06

popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TChanger

2016/09/20 03:05

助かりました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問