3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【PHP】お問い合わせフォームの簡単な作り方

Last updated at Posted at 2023-08-19

※この記事では、セキュリティとバリデーションについては書いていません。今セキュリティとバリデーションの記事を書いているのででき次第URLをこの記事に貼り付けます。

最近こんなツイートをしました。

これだけだと実装内容があまりわからないと思うので詳細をこの記事で書きました。

お問い合わせフォームなどで良く見かける

入力・確認・完了

画面を作成していきます。

手順

ファイルの作成

まずは [ inquiryフォルダ ] を作成してその中に [ input.phpファイル ] [ confirm.phpファイル ] [ thanks.phpファイル ] を作成してください。

inquiry
  |--> input.php
       confirm.php
       thanks.php

入力画面 input.php

input.php

<!DOCTYPE html>
<meta charset="utf-8">
<head></head>
<body>

<h1>お問い合わせ</h1>

<form method="POST" action="confirm.php">

    お名前
    <input type="text" name="name"><br>
    フリガナ
    <input type="text" name="kana"><br>
    メールアドレス
    <input type="email" name="email"><br>
    内容
    <textarea name="body"></textarea><br>

    <input type="submit" name="btn_confirm" value="確認する">

</form>

</body>
</html>

<form method="POST" action="confirm.php">

method="POST" でPOST送信

action="confirm.php" で確認画面に遷移

<input type="email" name="email">

type=”email” にすることでメールアドレスしか入力できないようになります。

<input type="body" name="body">

input type="body" 内容を入力する際はbodyを利用しましょう。

<input type="submit" name="btn_confirm" value="確認する">

input type=”submit” で確認ボタン作成

確認画面 confirm.php

confirm.php

<!DOCTYPE html>
<meta charset="utf-8">
<head></head>
<body>

<h1>確認画面</h1>

<form method="POST" action="thanks.php">

    お名前
    <?php echo $_POST['name']; ?><br>
    フリガナ
    <?php echo $_POST['kana']; ?><br>
    メールアドレス
    <?php echo $_POST['email']; ?><br>
    内容
    <?php echo $_POST['body']; ?><br>

    <input type="button" value="戻る" onClick="history.back()">
    <input type="submit" name="btn_submit" value="送信する">

</form>

</body>
</html>

確認画面なので入力された値をそのまま表示させていきます。

<?php echo $_POST['name']; ?>

<?php echo $_POST['name']; ?> phpを使うときは <?php 処理 ?> でphpを使うことができます。

echo $_POST['name']; でPOST送信された name(お名前) を表示

<?php echo $_POST['kana']; ?>

echo $_POST['kana']; でPOST送信された kana(フリガナ) を表示

<?php echo $_POST['email']; ?>

echo $_POST['email']; でPOST送信された email(メールアドレス) を表示

<?php echo $_POST['body']; ?>

echo $_POST['body']; でPOST送信された body(内容) を表示

JSで戻るボタン実装 <input type="button" value="戻る" onClick="history.back()">

onClick="history.back()" で前のページに値を残したまま戻る事ができます。

<input type="submit" name="btn_submit" value="送信する">

input type=”submit” で送信ボタン作成

完了画面 thanks.php

thanks.php

<!DOCTYPE html>
<meta charset="utf-8">
<head></head>
<body>

<h1>完了画面</h1>

<p>送信が完了しました</p>

</body>
</html>

完了画面では単純に「送信完了しました。」のみ表示

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?