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

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

ただいまの
回答率

87.37%

フォームの送信にかんしまして

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 90

score 15

初めまして、ほぼほぼフォーム・PHPにかんしましては初心者でございますが、
調べながら勉強しつつ、作成しております。

サイトのフォームで、
担当者へのメール送信ではなく、
入力内容をサーバへPOST送信する内容となります。

ご質問となりますが、
HTMLの<form action="index.php" method="POST">で設定すれば
サーバへ送信となるのでしょうか。

【フォーム入力画面】←→【確認画面(戻る・送信)】→【サンキューページ】

<?php if($flg == null || $flg == 'chk' || $flg == 'back') { ?>
                            <form action="index.php" method="POST">
                                <dl>      
                                    <dt><label for="name">お名前</label><p class="required">必須</p></dt>
                                    <dd><input class="textlines" name="name" type="text" value="<?php echo $name; ?>"><br><span style="color:#e60012;" class="err"><?php echo $err1; ?></span></dd>

                                    <dt><label for="name">郵便番号</label></dt>
                                    <dd><input class="textlines02" name="post_num" type="text" maxlength="7" value="<?php echo $post_num; ?>"></dd>

                                    <dt><label for="name">ご住所</label><p class="required">必須</p></dt>
                                    <dd><input class="textlines" name="addr" type="text" value="<?php echo $addr; ?>"><br><span style="color:#e60012;" class="err"><?php echo $err2; ?></span></dd>
                                </dl>

                                <div class="privacyarea">
                                    <p><button class="submit_button" type="submit" />確 認</button></p>
                                    <input type="hidden" value="chk" name="flg">
                                </div>
                             </form>


                    <?php } else if($flg == 'confirm') { ?>
                    <dl>      
                        <dt class="textlines00">お名前</dt>
                        <dd class="textlines03"><?php echo $name; ?></dd>

                        <dt class="textlines00">郵便番号</dt>
                        <dd class="textlines03"><?php echo $post_num; ?></dd>

                        <dt class="textlines00">ご住所</dt>
                        <dd class="textlines03"><?php echo $addr; ?></dd>
                    </dl>

                    <div class="tac">
                        <form class="confirm-form" action="index.php" method="POST">
                            <p class="submit_button"><input id="back" type="submit" value="戻 る" /></p>
                            <input type="hidden" name="name" value="<?php echo $name; ?>">
                            <input type="hidden" name="post_num" value="<?php echo $post_num; ?>">
                            <input type="hidden" name="addr" value="<?php echo $addr; ?>">
                            <input type="hidden" name="flg" value="back">
                        </form>

                        <form class="confirm-form" action="index.php" method="POST">
                            <p class="submit_button"><input id="send" type="submit" value="O K" /></p>
                            <input type="hidden" name="name" value="<?php echo $name; ?>">
                            <input type="hidden" name="post_num" value="<?php echo $post_num; ?>">
                            <input type="hidden" name="addr" value="<?php echo $addr; ?>">
                            <input type="hidden" name="flg" value="send">
                        </form>
                    </div>
                    <?php } ?> 
<?php

    $name    = setValue('name');
    $post_num    = setValue('post_num');
    $addr        = setValue('addr');
    $flg        = setValue('flg');
    $error        = false;
    $TODAY        = date("Y/m/d H:i:s");
    $myName        = "タイトル";
    $err1 = '';
    $err2 = '';
    $err3 = '';

    if($flg == 'chk') {
        if($name == '') {
            $error = true;
            $err1 = '入力がされておりません';
        }

        if($addr == '') {
            $error = true;
            $err2 = '入力がされておりません';
        }

        if(!$error) {
            $test = 'test';
            $flg = 'confirm';
        }
    }

if($flg == 'send') {
        if($flg == 'send') {
            header("Location: thankyou.php");
        }
        else {
            header("Location: error.html");
        }
}

function setValue($value) {
    if(isset($_POST[$value])) {
        return $_POST[$value];
    }
    else {
        return '';
    }
}

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • itagagaki

    2021/11/24 22:30

    それでやってみたらいいと思いますが。

    キャンセル

  • poqpoq

    2021/11/25 17:12 編集

    ご回答ありがとうございます。
    色々と勉強しながやってみます。

    キャンセル

回答 1

check解決した方法

0

色々と勉強し調べながらやっていこうと思います。
ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る