2016-03-28 21 views
-1

私は新しいものより多くのことを試みましたが、それを動作させることはできません。フォーム送信ボタンのPHPスクリプト

送信ボタンをクリックすると、インターネット接続のチェックが必要です。 インターネット接続がある場合は、メールを送信する必要があります。表示されない場合は、「いいえ、インターネット接続はもう一度やり直してください。」というメッセージが表示されます。

ここではフォームのコード:

<?php header('Content-type: text/html; charset=iso8859-15'); 
    $your_email = '[email protected]????.com'; session_start(); $errors = ''; 
    $firstname = ' '; $lastname = ''; $visitor_email = ''; 
    if (isset($_POST['submit'])) { 
     $firstname = $_POST['firstname']; 
     $lastname = $_POST['lastname']; 
     $visitor_email = $_POST['email']; 
     if (empty($firstname) || empty($lastname) { 
      $errors .= "\n 
    firstname and lastname are required fields. "; 
     } 
     if (empty($errors)) { 
      $to = $your_email; 
      $subject = "test"; 
      $from = $your_email; 
      $body = "test\n" . "Firstname: 
    $firstname\n" . "Lastname: $lastname \n" . $headers = "Reply-To: 
    $visitor_email \r\n"; 
      mail($to, $subject, $body, $headers); 
      header('Location: thankyou.html'); 
     } 
    } ?> 

<html> 
<head> 
    <script language="JavaScript" 
     src="scripts/gen_validatorv31.js" type="text/javascript"></script> 
</head> 
<body> 

<?php if (!empty($errors)) { 
    echo "<p class='err'>" . nl2br($errors) . "</p>"; 
} ?> 
<div 
    id='contact_form_errorloc' class='err'></div> 
<form method="POST" 
     name="booktransfer" action="<?php echo 
htmlentities($_SERVER['PHP_SELF']); ?>"><label 
     for='firstname'>Firstname:</label> <input type="text" 
               name="firstname" value='<?php echo htmlentities($firstname) ?>'> 
    <br><label for='lastname'>Lastname:</label> <input type="text" name="lastname" 
                 value='<?php echo htmlentities($lastname) ?>'> 
    <br><label for='email'>Email:</label> <input type="text" 
               name="email" value='<?php echo htmlentities($visitor_email) ?>'> 
    <input type="submit" value="Senden" name='submit'> 
</form> 
</body> </html> 

そして、ここでのインターネット接続をチェックするためのスクリプト:

<script> 
    function doesConnectionExist() { 
     var xhr = new XMLHttpRequest(); 
     var file = "http://www.?????.com/somefile.png"; 
     var randomNum = 
      Math.round(Math.random() * 10000); 
     xhr.open('HEAD', file + 
      "?rand=" + randomNum, false); 
     try { 
      xhr.send(); 
      if (xhr.status >= 200 && xhr.status < 304) { 
       return true; 
      } else { 
       return false; 
      } 
     } catch (e) { 
      return false; 
     } 
    } </script> 

私は本当に誰かが一緒にこれらの2を「タイ」ことができると思います。

+0

はSOへようこそ。コードブロックのバッククォートではなく、4つのスペースを使用して、正しいコードをフォーマットしてください。 –

答えて

1

さて、あなたのスクリプトは、以下を使用することができます取り組んでいる場合:

<form method="POST" 
name="booktransfer" action="<?php echo 
htmlentities($_SERVER['PHP_SELF']); ?>" onsubmit="doesConnectionExist()"> 
+0

残念ながら、私はphpやjsからAbuの答えを "実装"するのに十分なものではありません。 – Erwin

関連する問題