PHP

シンプルフォームAPI

 

DEMO

 

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Simple API Form Ajax</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->


<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(function() {
        $("#submit").click(function()
        {
                var falseFlag = 0;

                if( document.getElementById('yourName').value == '' )
                {
                        falseFlag = 1;
                }

                if( document.getElementById('email').value == '' )
                {
                        falseFlag = 1;
                }

                if( document.getElementById('goiken').value == '' )
                {
                        falseFlag = 1;
                }

                if(falseFlag == 1)
                {
                        window.alert("未入力の項目がありますよ!");
                        return false;
                }

                $.ajax({
                        url: 'api.php',
                        type: 'post',
                        dataType: 'json',
                        data: {
                                yourName : $('#yourName').val(),
                                email    : $('#email').val(),
                                goiken   : $('#goiken').val()
                        },
                })
                .done(function(response){
                        // フォームデータ表示の削除
                        $('#yourName').val('');
                        $('#email').val('');
                        $('#goiken').val('');

                        // APIに返されたデータを受け取り表示する
                        $('#result').append(response.data);


                        $('#message').append('<strong style="color : green;">ご応募有難う御座います。<strong>');
                })
                .fail(function(){
                        $('#message').append('<strong style="color : red;">送信に失敗しました。時間を置いてもう一度お試し下さい。</strong>');
                })

        });
});
</script>

<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }


</style>
</head>
<body>
        <lable>お名前</label>
        <input type="text" id="yourName" name="yourName" value=""><br/>
        <lable>メールアドレス</label>
        <input type="text" id="email" name="email" value=""><br/>
        <lable>ご意見</label>
        <textarea id="goiken" name="goiken" value=""></textarea><br/>
        <input type="button" id="submit" value="送信"><br/>

        <div id="result" value=""></div>
        <div id="message"></div>
</body>
</html>

 

 

 

 

api.php

<?php
// API
header('Content-Type: application/json');
$data = "{$_POST['yourName']}さん({$_POST['email']}) ご意見<hr/>{$_POST['goiken']}<hr/>";
echo json_encode( compact('data') );


// メール送信
mb_language("Japanese");
mb_internal_encoding("UTF-8");
$to      = 'kanehiro@sys-guard.com';
$subject = 'アンケートフォーム';

$message = "
お名前:{$_POST['yourName']}さん
メールアドレス:{$_POST['email']}
ご意見:{$_POST['goiken']}
";

$headers = 'From: from@hoge.co.jp' . "\r\n";
mb_send_mail($to, $subject, $message, $headers);

 

 

 

 

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)