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

質問編集履歴

1

index.phpの他にconfirm.phpのコードも記載しました。

2018/08/18 04:42

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  お問い合わせフォームを作っていて、入力内容のいずれかに空白があった場合に送信ボタンクリック時にエラーメッセージを出すようにしたいと思っています。
2
- 各サイトを参考にしながら以下のようにコードを組んでみたのですが、エラーメッセージを出すための制御文が動作していないようで、空白があった場合でもそのまま確認画面へと進んでしまいます(index.php → confirm.php → sent.phpと移動するように作っており、以下はindex.phpのコードす)。
2
+ 各サイトを参考にしながら以下のようにコードを組んでみたのですが、エラーメッセージを出すための制御文が動作していないようで、空白があった場合でもそのまま確認画面へと進んでしまいます(index.php → confirm.php → sent.phpと移動するように作っており、以下のコードの1つ目がindex.php、2つ目がconfirm.phpになります)。
3
3
  試しにif(isset($_POST['submit']) && $_POST['submit'] === '送信')の部分を消すと今度は「お名前を入力してください。」などのメッセージが最初から表示されるようになります。そのためこのif文がおかしいような気がするのですが修正方法がわかりません。
4
4
  似たような質問をいくつか見つけたのですが、自分の力ではいずれの方法でも解決に至らなかったため質問させていただきました。ご回答よろしくお願いいたします。
5
5
 
@@ -63,4 +63,58 @@
63
63
  </div>
64
64
  </body>
65
65
  </html>
66
+ ```
67
+
68
+ ```PHP
69
+ <?php
70
+ $name = '';
71
+ if(isset($_POST['name'])){
72
+ $name = $_POST['name'];
73
+ }
74
+ $mail = '';
75
+ if(isset($_POST['mail'])){
76
+ $mail = $_POST['mail'];
77
+ }
78
+ $inquiry = '';
79
+ if(isset($_POST['inquiry'])){
80
+ $inquiry = $_POST['inquiry'];
81
+ }
82
+
83
+ function h($s) {
84
+ return htmlspecialchars($s, ENT_QUOTES, "UTF-8");
85
+ }
86
+ ?>
87
+
88
+ <!DOCTYPE html>
89
+ <html lang="ja">
90
+ <head>
91
+ <meta charset="UTF-8">
92
+ <title>お問い合わせフォーム</title>
93
+ <link rel="stylesheet" href="style.css">
94
+ </head>
95
+ <body>
96
+ <div class="main">
97
+ <div class="contact-form">
98
+ <div class="thanks-message">以下の内容でよろしいですか?</div>
99
+ <form method="post" action="sent.php">
100
+ <input type="hidden" name="name" value="<?php echo h($name) ?>">
101
+ <input type="hidden" name="mail" value="<?php echo h($mail) ?>" >
102
+ <input type="hidden" name="inquiry" value="<?php echo h($inquiry) ?>">
103
+ <div class="form-title">入力内容</div>
104
+
105
+ <div class="form-item">●お名前</div>
106
+ <?php echo h($name) ?>
107
+
108
+ <div class="form-item">●メールアドレス</div>
109
+ <?php echo h($mail) ?>
110
+
111
+ <div class="form-item">●お問い合わせ内容</div>
112
+ <?php echo h($inquiry) ?>
113
+ <br>
114
+ <input type="button" value="戻る" onclick="history.back()">
115
+ <input type="submit" value="送信する">
116
+ </form>
117
+ </div>
118
+ </div>
119
+ </body>
66
120
  ```