0

私は現在ウェブサイトを作っており、私は立ち往生しています私はフォームを持っています

    <form name="inputForm" onSubmit="return validateForm();" action="#">
<fieldset>
    <p>
      <label>First Name:</label>
      <input type="text" name="first_name"/><br />
      <label>Surname:</label>
      <input type="text" name="surname"/><br />
      <label>Address number:</label>
      <input type="text" name="address_number"/><br />
      <label>Address name:</label>
      <input type="text" name="address_name"/><br />
      <label>Suburb:</label>
      <input type="text" name="suburb"/><br />
      <label>Postcode:</label>
      <input type="text" name="postcode"/><br />      
      <label>State:</label>
      <select name="state">
            <option value="nsw">NSW
            <option value="qld">QLD
            <option value="act">ACT
            <option value="vic">VIC
            <option value="sa">SA
            <option value="tas">TAS
            <option value="nt">NT
            <option value="wa">WA
          </SELECT><br />
      <label>Email:</label>
      <input type="text" name="email"/><br />
      <label>Phone Number:</label>
      <input type="text" name="phone"/><br />
      <input type="submit" name="submit" value="Send form" />
      <input type="reset" name="reset" value="reset" />
      </p>
</fieldset>
</form>

その後、JavaScriptによって検証されます

function validateForm()
{
    var form = document.forms['inputForm'];
    var formats = 
        {
            first_name: /^[a-zA-Z]+[\-'\s]?[a-zA-Z]+$/,                             /*works for a-Z allows - and '*/
            surname: /^[a-zA-Z]+[\-'\s]?[a-zA-z]+$/,                                /*works for a-Z allows - and '*/
            postcode: /^\d{4}$/,                                                    /*4digit post code australia wide*/
            email: /^\w+([\.-]w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/,                   /*allows all word characters and normal email formats*/
            address_number: /^\d[0-9]$/,                                                    /*allows any number of digits*/
            address_name: /^\w?\s?[a-zA-Z]+(,?\s([a-zA-Z])*)*$/,            /*allows numbers space capital letters and other word characters*/
            suburb: /^\w?\s?[a-zA-Z]+(,?\s([a-zA-Z])*)*$/,          /*allows numbers space capital letters and other word characters*/
            phone: /^\d{8}$/,                                                       /*8 number phone number*/
        };
        var elCount = form.elements.length;
        for(var i = 0; i<elCount; i++)
        {
            var field = form.elements[i];
            if(field.type == 'text')
            {
                if(!formats[field.name].test(field.value))
                {
                    alert('invalid '+ field.name.replace('_',' ')+'.');             /*alerts the name of the area not filled right in a pop up box*/
                    field.focus();
                    return false;
                }
            }
        }
        alert('All fields correct, the form will now submit.')
}

次に、その情報を収集して自分の電子メールアドレスに送信するためにphpが必要です(これは私が立ち往生している場所です)

<?php
if( isset( $_POST['submit'] ) || isset( $_POST['submit_x']))
{
    $to = "myemail@myemail.com";
      $subject = 'subject';
      $message = 'testing the php mail() function';
      $headers = "from: email\r\n";


        $body=" 
        Name: $name\n
        Email: $email\n
";
echo "the information has been sent we will be in contact with you shortly";
mail($to, $subject, $message, $headers);    
}
else
{
    echo "The informations has not been sent";
}
?>

今、私はこれについて数日間頭を悩ませてきましたが、それを調べても、phpとjavascriptについてまだ学んでいるものを見つけることができません

javascriptとHTMLは正常に機能します。メール機能だけで問題ありません。

4

3 に答える 3

0

メソッドを指定する必要があります。

form method="post"

action="#"そして、それが正しい使い方かどうかもわかりません

于 2012-04-10T07:04:23.120 に答える
0

まず、method = "post"をフォームに追加して、次のようにします。

 $headers = "from: email\r\n";

 $headers = "from: {$_POST['email']}\r\n";
于 2012-04-10T07:04:57.293 に答える
0

PHPでの電子メール検証のためにisemailを試してください。これは、最も包括的な電子メール検証スクリプトです。これは、電子メールに関するすべてのRFCに従います。

于 2012-04-10T07:10:28.833 に答える