teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

文字列にすべき箇所を見落としていたので、構文追加

2020/03/27 05:13

投稿

miyabi_pudding
miyabi_pudding

スコア9559

answer CHANGED
@@ -11,10 +11,13 @@
11
11
  よって、下記であればひとまず動くかと。
12
12
 
13
13
  ```php
14
+ // 前行は省略
15
+ // 文字列として定義されていないので、クォーテーションを入れる。
16
+ $title = '発送依頼確認メール|CLANESTARONLINE';
14
17
  // 発送依頼の先頭に'ないし"が抜けていたのが間違いの原因です。
15
18
  $content = "発送依頼を承りました。\n発送情報をご確認ください。\nお名前\n" . $_POST["name"] . "\n連絡用メールアドレス\n" . $_POST["mail"] . "\n郵便番号\n" . $_POST["zip1"] . "-" . $_POST["zip2"] . "\n住所\n" . $_POST["address"] . "\n電話番号\n" . $_POST["tel"] . "\n発送時間帯\n" . $_POST["hassouziki"] . $_POST["hassoutime"] . "時\n送料\n" . $_POST["souryou"]; // 最後は変数のため、'はいらない
16
19
 
17
- // 間は省略
20
+ // 間は省略
18
21
  // 下記の文字列の部分を文字列としないとだめ
19
22
  $content = "発送依頼を受信しました。";
20
23
  mb_send_mail("hogehoge@gmail.com", "発送依頼を受信", $content)

3

正解というよりは、とりあえず動く構文、という旨などを記載

2020/03/27 05:13

投稿

miyabi_pudding
miyabi_pudding

スコア9559

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  0. PHPにて文字列連結をするには、`.`演算子を使います。
9
9
  0. PHPの場合、文字列内で`\n`を改行コードとして扱うには、`"`にする必要がある。
10
10
 
11
- よって、下記が正解なり
11
+ よって、下記であればひとまず動くかと
12
12
 
13
13
  ```php
14
14
  // 発送依頼の先頭に'ないし"が抜けていたのが間違いの原因です。
@@ -18,4 +18,11 @@
18
18
  // 下記の文字列の部分を文字列としないとだめ
19
19
  $content = "発送依頼を受信しました。";
20
20
  mb_send_mail("hogehoge@gmail.com", "発送依頼を受信", $content)
21
- ```
21
+ ```
22
+
23
+ ただし、書き方的に、
24
+ `$content`の定義箇所は、てきせん、コード上で項目ごとに改行を入れたりした方がいいかと思います。
25
+ また、定義の仕方もいくつかありますので、`PHP メール文 作成`などのキーワードで探して、研究されるといいかと思います。
26
+
27
+ また、`mb_send_mail`にそのまま変数の内容を突っ込むのは、セキュリティ的にも、構文的にも**かなりよろしくない**と思いますので、バリデーションを挟んだりなどするべきかと思います。
28
+ (今は練習の段階なら、本番や仕事にするものなのであれば必須なんだ、と覚えとくといいかと)

2

言い回し若干修正

2020/03/27 05:03

投稿

miyabi_pudding
miyabi_pudding

スコア9559

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  ただの文字列を変数として、変数をただの文字列として扱ってしまってます。
6
6
  (一番最初の`'`の位置が間違ってるため、後の定義が全ておかしくなっている)
7
7
  そして、文字列とすべき部分に対して、クォーテーションが使われていません。
8
- 0. 文字列と変数を連結するには、`.`演算子を使います。
8
+ 0. PHPにて文字列連結するには、`.`演算子を使います。
9
9
  0. PHPの場合、文字列内で`\n`を改行コードとして扱うには、`"`にする必要がある。
10
10
 
11
11
  よって、下記が正解となります。

1

改行コードになっていないミスがあったため、こっそり修正

2020/03/27 04:53

投稿

miyabi_pudding
miyabi_pudding

スコア9559

answer CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```php
14
14
  // 発送依頼の先頭に'ないし"が抜けていたのが間違いの原因です。
15
- $content = "発送依頼を承りました。n\発送情報をご確認ください。\nお名前\n" . $_POST["name"] . "\n連絡用メールアドレス\n" . $_POST["mail"] . "\n郵便番号\n" . $_POST["zip1"] . "-" . $_POST["zip2"] . "\n住所\n" . $_POST["address"] . "\n電話番号\n" . $_POST["tel"] . "\n発送時間帯\n" . $_POST["hassouziki"] . $_POST["hassoutime"] . "時\n送料\n" . $_POST["souryou"]; // 最後は変数のため、'はいらない
15
+ $content = "発送依頼を承りました。\n発送情報をご確認ください。\nお名前\n" . $_POST["name"] . "\n連絡用メールアドレス\n" . $_POST["mail"] . "\n郵便番号\n" . $_POST["zip1"] . "-" . $_POST["zip2"] . "\n住所\n" . $_POST["address"] . "\n電話番号\n" . $_POST["tel"] . "\n発送時間帯\n" . $_POST["hassouziki"] . $_POST["hassoutime"] . "時\n送料\n" . $_POST["souryou"]; // 最後は変数のため、'はいらない
16
16
 
17
17
  // 間は省略
18
18
  // 下記の文字列の部分を文字列としないとだめ