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

質問編集履歴

3

自分で試したこと、コードを追記しました。

2018/11/08 08:33

投稿

uk_63
uk_63

スコア29

title CHANGED
File without changes
body CHANGED
@@ -15,10 +15,6 @@
15
15
  - バリデーション機能(メールアドレスがなければエラー、お問い合わせ内容最低30文字以下ならエラー等)
16
16
  - 入力画面、入力確認画面、送信画面の3つのページ。
17
17
  - 送信後、「◯◯様、お問い合わせありがとうございました。」のようなメッセージ。
18
- #試したこと
19
- [参考にしたブログ](http://izu.wpblog.jp/post-866/)
20
- 上記のブログにのっていたコードをコピペして、導入してみました。
21
- 送信はできているみたいなのですが、送信先のアドレス(私宛に届くようにしたい)をどこに設定すればよいのかわからず、挫折しました。
22
18
  #教えていただきたいこと
23
19
  - **送信先のアドレス(私宛に届くようにしたい)はどこで設定すればよいのか。WordPressの管理画面上の設定からですか?**
24
20
  - **自作する際に必要なファイル、コードなどの工程をリスト化して頂きたいです。HTMLでフォーム作成、CSSで装飾が必要なのはわかるのですが、PHPの記述はどこに書くのか、JSが必要か否かがわからないです。**
@@ -29,4 +25,106 @@
29
25
  - 私自身のスキルアップの為。
30
26
  - プラグインを極力入れないで、ページの表示速度を上げたい。
31
27
  - contact form 7を導入したところ、slick.jsを用いて作成したスライドショーが動かなくなった。
32
- 以上の理由からプラグインは極力使用したくありません。
28
+ 以上の理由からプラグインは極力使用したくありません。
29
+ #試したこと
30
+ [コチラを参考にしました](https://qiita.com/dashimaki/items/24082675c6e27269bbad)
31
+ 上記のサイトを参考に、
32
+ 以下、3つファイルを作成しました。
33
+
34
+ **contact.php**
35
+ お問い合わせ入力画面です。
36
+ 入力後、確認画面へ遷移します。
37
+ ```php
38
+ <?php
39
+ session_start();
40
+ /* Template Name: お問い合わせ */
41
+ ?>
42
+ <?php get_header(); ?>
43
+ <main id="page_wrapper">
44
+ <form action="<?php echo get_permalink( get_page_by_path( 'confirm' )->ID ); ?>" method="post">
45
+ <input type="text" name="your_name" required>
46
+ <input type="email" name="your_mail" required>
47
+ <input type="text" name="your_subject">
48
+ <textarea name="your_message" cols="100" lows="15" required></textarea>
49
+
50
+ <input type="submit" name="your_submit" value="確認画面へ">
51
+ </form>
52
+ </main>
53
+ <?php get_footer(); ?>
54
+
55
+ ```
56
+ **confirm.php**
57
+ 入力内容確認画面です。
58
+ 入力したデータを出力することができました。
59
+ しかし、送信ボタンを押すとcoplete.phpへ遷移するのですが、
60
+ > Parse error: syntax error, unexpected end of file in /app/public/wp-content/themes/Lemon/complete.php on line 16
61
+ 上記のエラーがでます。
62
+ header, footer がないのがエラー原因かと思いましたが、違いました。
63
+ ```php
64
+ <?php
65
+ session_start();
66
+ /* Template Name: お問い合わせ内容確認 */
67
+
68
+ if(isset($_POST['your_submit'])) {
69
+ $_SESSION['your_name'] = $_POST['your_name'];
70
+ $_SESSION['your_mail'] = $_POST['your_mail'];
71
+ if($_POST['your_subject'] != ""){
72
+ $_SESSION['your_subject'] = $_POST['your_subject'];
73
+ }else{
74
+ $_SESSION['your_subject'] = "件名なし";
75
+ }
76
+ $_SESSION['your_message'] = $_POST['your_message'];
77
+ $_SESSION['your_submit'] = $_POST['your_submit'];
78
+ }
79
+ ?>
80
+ <?php get_header(); ?>
81
+ <main id="page_wrapper">
82
+ <table rules="all" border="border">
83
+ <tr>
84
+ <th>お名前</th><td><p><?php echo htmlspecialchars($_SESSION['your_name']); ?></p></td>
85
+ </tr>
86
+ <tr>
87
+ <th>メールアドレス</th><td><p><?php echo htmlspecialchars($_SESSION['your_mail']); ?></p></td>
88
+ </tr>
89
+ <tr>
90
+ <th>件名</th><td><p><?php echo htmlspecialchars($_SESSION['your_subject']); ?></p></td>
91
+ </tr>
92
+ <tr>
93
+ <th>お問い合わせ内容</th><td><p><?php
94
+ $message = htmlspecialchars($_SESSION['your_message']);
95
+ $message = str_replace(" ", "&ensp;", $message);
96
+ $message = str_replace(" ", "&emsp;", $message);
97
+ echo nl2br($message);
98
+ ?></p></td>
99
+ </tr>
100
+ </table>
101
+
102
+ <center><span>
103
+ <button class="submit" type="button" onclick="location.href='<?php echo get_permalink( get_page_by_path( 'contact' )->ID ); ?>'">修正</button>
104
+ <button class="submit" type="button" onclick="location.href='<?php echo get_permalink( get_page_by_path( 'complete' )->ID ); ?>'">送信</button>
105
+ </span></center>
106
+ </main>
107
+ <?php get_footer(); ?>
108
+
109
+ ```
110
+ **complete.php**
111
+ ここでエラーがでます。
112
+
113
+ ```php
114
+
115
+ <?php
116
+ session_start();
117
+ /* Template Name: 送信画面 */
118
+
119
+ if(isset($_SESSION['your_submit'])) {
120
+ $to = ''; //【メールアドレス】
121
+
122
+ //ここでは 名前, 件名
123
+ $subject = $_SESSION['your_name'].', '.$_SESSION['your_subject']; //【タイトル】
124
+ $message = $_SESSION['your_message']; //【本文】
125
+
126
+ wp_mail($to, $subject, $message);
127
+ session_destroy();
128
+ ?>
129
+
130
+ ```

2

2018/11/08 08:33

投稿

uk_63
uk_63

スコア29

title CHANGED
File without changes
body CHANGED
@@ -24,4 +24,9 @@
24
24
  - **自作する際に必要なファイル、コードなどの工程をリスト化して頂きたいです。HTMLでフォーム作成、CSSで装飾が必要なのはわかるのですが、PHPの記述はどこに書くのか、JSが必要か否かがわからないです。**
25
25
  - **必要なファイルは、contact.php(入力画面用ファイル)、confirm.php(入力画面確認用ファイル)、sendmail.php(送信後用のファイル)の3つですか?**
26
26
  - **参考にできるサイトがあれば教えて下さい。**
27
- - **フォームにあると便利な機能があれば教えて下さい。**
27
+ - **フォームにあると便利な機能があれば教えて下さい。**
28
+ #プラグインを使いたくない理由
29
+ - 私自身のスキルアップの為。
30
+ - プラグインを極力入れないで、ページの表示速度を上げたい。
31
+ - contact form 7を導入したところ、slick.jsを用いて作成したスライドショーが動かなくなった。
32
+ 以上の理由からプラグインは極力使用したくありません。

1

前提に追記。

2018/11/08 07:40

投稿

uk_63
uk_63

スコア29

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  #前提
2
2
  初めて、WordPressオリジナルテーマを作成しています。
3
+ ローカル環境で作成しています。(ソフト:Local by Flywheel を使用)
3
4
  コンタクトフォームを**プラグインを使わず**導入したいです。
4
5
  #コンタクトフォームで欲しい情報
5
6
  - 氏名