☆☆ 新着記事 ☆☆

2018年6月28日木曜日

PHP Contact Form

1. 基本

*これでレンタルサーバー上から送れることは確認。

1) htmlサイド
<html>
 <head>
  <meta charset="utf-8" />
  <script type="text/javascript" charset="UTF-8"></script>
 </head>
 <body>
  <form action="./mail.php" method="post">
  <p>受信者</p><input type="text" name="to">
  <p>タイトル</p><input type="text" name="title">
  <p>本文</p><textarea name="content" cols="50" rows="5"></textarea>
  <p><input type="submit" name="send" value="送信"></p>
  </form>
 </body>
</html>

2) phpサイド
<html>
 <head>
  <meta charset="utf-8" />
 </head>
 <body>
  <?php
   mb_language("Japanese");
   mb_internal_encoding("UTF-8");

   $to = $_POST['to'];
   $title = $_POST['title'];
   $content = $_POST['content'];
   $headers .= "Content-type: text/html; charset=UTF-8";
   if(mb_send_mail($to, $title, $content)){
    echo "メールを送信しました";
   } else {
    echo "メールの送信に失敗しました";
   }
  ?>
 </body>
</html>

https://youtu.be/iykJl6iXCao

***************************
これにバリデーションを入れる
***************************

<!DOCTYPE HTML>
 <html lang="ja">
 <head>
 <meta charset="utf-8">
 <title></title>
 <link href="xxx.css" rel="stylesheet" type="text/css">
 <script src="./xxx.js"></script>
 </head>
 <body>

<form role="form" action="mail.php" method="post">
<div class="form-group">
 <p><label for="exampleInputName1">Your Name</label>
  <input type="text" class="form-control" id="exampleInputName1" placeholder="Enter name" name="name" required>
 </P>

 <p><label for="exampleInputEmail1">Email address</label>
 <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email" name="email" required>
 </p>

 <p><label for="exampleInputText1">Message</label>
 <textarea class="form-control" rows="3" name="message" required></textarea>
 </p>

 <p><label for="radio"></label>
 <input type="radio" name="radio" value="0" />
 *内容を確認し、よろしければ左のボタンをチェックした後、下の送信ボタンを押してください。</p>



</div>
 <p><button type="submit" value="SEND MESSAGE" class="btn btn-default">Submit</button>
 </p>
 </form>

</body>
</html>



<PHP>

<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = xxxxx@gmail.com(**送信先のメールアドレスを入力)';
$subject = 'Message from a site visitor '.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        window.location = 'http://www.mossymob.net';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('メッセージ送信に失敗しました。こちらのメールアドレスへお問い合わせください。test@gmail.com(※自分のメールアドレス)');
        window.location = 'index.html(※送信失敗後に移動するページ)';
    </script>
<?php
}
?>


*************************************
Security対策はしときませんと
*************************************
 https://teratail.com/questions/71592

サニタイズ
https://gray-code.com/php/make-the-form-vol5/

*************************************
これも本格的な企業の問い合わせ
*************************************

 https://it-tantou.com/3406/

0 件のコメント:

コメントを投稿