Advertisement
Guest User

Untitled

a guest
Sep 21st, 2018
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.21 KB | None | 0 0
  1. <?php
  2.     header('Content-Type: text/html; charset=utf-8');
  3.     if(isset($_POST['who'])) // sprawdzamy, czy zostały dane przekazen z formularza.
  4.     {
  5.         $flagAllOK = true; // Zmienna pomocnicza przy sprawdzaniu czy wszystkie dane formularza zostały uzupełnione "prawidłowo"
  6.         $mailTo = 'xxx@gmail.com';// tutaj po "=" adres mailowy gdzie mają przychodzić wiadomości.
  7.         // Sprawdzamy po kolei czy wszystko jest ok,
  8.         // Czy nie są zostawione puste pola
  9.         if((empty($_POST['who'])) || (empty($_POST['mail'])) || (empty($_POST['message'])))
  10.         {
  11.             $flagAllOK = false;
  12.             $failFlag['empty'] = 'Uzupełnij wszystkie pola.'; // Zwracam informację o błędzie.
  13.         }
  14.         // Czy e-mail nie zawiera niedozwolonych znaków lub jest niepoprawny
  15.         $mail=$_POST['mail'];
  16.         $mailSafe=filter_input(INPUT_POST, 'mail', FILTER_SANITIZE_EMAIL);
  17.         if((!filter_var($mailSafe, FILTER_VALIDATE_EMAIL)) || ($mailSafe!=$mail))
  18.         {
  19.             $flagAllOK = false;
  20.             $failFlag['mail'] = 'Podany adres e-mail jest błędny. Proszę podać prawidłowy adres e-mail.';
  21.         }
  22.         // Czy kod recaptcha jest poprawny
  23.         $key = ''; // Tu podajemy prywatny klucz recaptcha
  24.         $checkReCaptcha = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$key.'&response='.$_POST['g-recaptcha-response']);
  25.         $response = json_decode($checkReCaptcha);
  26.         if(!($response->success))
  27.         {
  28.             $flagAllOK = false;
  29.             $failFlag['reCaptcha'] = 'Błędny kod reCaptcha.';
  30.         }
  31.         // Wysyłamy maila jeśżeli wszystko się zgadza. Tworzymy nagłówek i treść
  32.         if($flagAllOK === true)
  33.         {
  34.             $header = 'Reply-To: '.$mailSafe.PHP_EOL;
  35.             $header .= 'MIME-Version: 1.0'.PHP_EOL;
  36.             $header .= 'Content-Type: text/html; charset=UTF-8';
  37.             $message = '<p>Dostałeś wiadomosć od: </p>';
  38.             $message .= '<p>Imię i nazwisko: '.$_POST['who'].'</p>';
  39.             $message .= '<p>E-mail: '.$mailSafe.'</p>';
  40.             $message .= '<p>Wiadomość: '.$_POST['message'].'</p>';
  41.             $messageComplete = '<!doctype html><html lang="pl"><head><meta charset="utf-8"></head><body>'.$message.'</body></html>';
  42.             $subject = 'Wiadomosć ze strony ...';
  43.             // Wysyłamy maila
  44.             if(mail($mailTo, $subject, $messageComplete, $header))
  45.             {
  46.                 $failFlag['success'] = 'Wiadomość wysłana.';
  47.             }
  48.             else
  49.             {
  50.                 $failFlag['fail'] = 'Wiadomość nie została wysłana.';
  51.             }
  52.         }
  53.     }
  54. ?>
  55. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  56. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  57. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  58.     <head>
  59.         <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  60.         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  61.         <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  62.         <meta http-equiv="content-language" content="pl" />
  63.         <meta name="author" content="Paweł Szwast" />
  64.         <meta name="robots" content="index, follow" />
  65.         <title>Formularz Kontaktowy - Mail PHP</title>
  66.         <script src='https://www.google.com/recaptcha/api.js'></script>
  67.     </head>
  68.     <body>
  69.                 <form action="kontakt.php" method="post" class="kontakt">
  70.                     <label for="name">Imię i nazwisko:</label>
  71.                     <input type="text" name="who" id="name" value="<?php if(!empty($who) && isset($failFlag['fail'])){ echo($who);}?>"  placeholder="Jan Kowalski" required autocomplete="off" />
  72.                     <label for="email">E-mail:</label>
  73.                     <input type="text" name="mail" id="email" value="<?php if(!empty($mail) && isset($failFlag['fail'])){ echo($mail);}?>" placeholder="example@example.com" required autocomplete="off" />
  74.                     <label for="message">Treść:</label>
  75.                     <textarea name="message" id="message" placeholder="Wpisz swoją wiadomość" required autocomplete="off"><?php if(!empty($tempMessage) && isset($failFlag['fail'])){ echo($tempMessage);}?></textarea>
  76.                     <div class="g-recaptcha"  data-sitekey=""></div>
  77.                     <button type="submit">Wyślij</button>
  78.                 </form>
  79.                 <?php
  80.                     if(isset($failFlag['empty']))
  81.                     {
  82.                         echo $failFlag['empty'];
  83.                     }
  84.                     if(isset($failFlag['mail']))
  85.                     {
  86.                         echo $failFlag['mail'];
  87.                     }
  88.                     if(isset($failFlag['reCaptcha']))
  89.                     {
  90.                         echo $failFlag['reCaptcha'];
  91.                     }
  92.                     if(isset($failFlag['success']))
  93.                     {
  94.                         echo $failFlag['success'];
  95.                     }
  96.                     if(isset($failFlag['fail']))
  97.                     {
  98.                         echo $failFlag['fail'];
  99.                     }
  100.                     ?>
  101.  
  102.     </body>
  103. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement