1

Web サイトのテンプレートがあり、そこでメッセージの送信者をカスタマイズしたいと考えています。このフォームは、その実装を支援するために見ました。

php ファイルは次のようになります。

<?php
echo 'testing php'; 
$name = $_POST['name']; // contain name of person
$email = $_POST['email']; // Email address of sender 
$web = $_POST['web']; // Your website URL
$body = $_POST['text']; // Your message 
$receiver = "myEmail@hotmail.com" ; // hardcorde your email address here - This is the email address that all your feedbacks will be sent to 

$body = "Name:{$name}\n\nWebsite :{$web}\n\nComments:{$body}";
$send = mail($receiver, 'Contact Form Submission', $body, $email);
if ($send) {
    echo 'true'; //if everything is ok,always return true , else ajax submission won't work
}
?>

アップデート

私はこのようにphpファイルを呼び出すことができました:

<form id="form" method="post" action="ajaxSubmit.php" > 
                <fieldset> 
                <label><input type="text" id="name" name="name" value="Name" onBlur="if(this.value=='') this.value='Name'" onFocus="if(this.value =='Name' ) this.value=''"></label>
                  <label><input type="text" id="email" name="email" value="Email" onBlur="if(this.value=='') this.value='Email'" onFocus="if(this.value =='Email' ) this.value=''"></label> 
                <label><input type="text" id="web" name="web" value="Phone" onBlur="if(this.value=='') this.value='Phone'" onFocus="if(this.value =='Phone' ) this.value=''"></label>
                  <label><textarea id="text" name="text" onBlur="if(this.value==''){this.value='Message'}" onFocus="if(this.value=='Message'){this.value=''}">Message</textarea></label> 
                <input type="reset" /> 
                <input type="submit" /> 
                </fieldset> 
                </form>

しかし、これを実行すると、次のエラーが表示されます

Warning: mail() [function.mail]: SMTP server response: 550 The address is not valid. in C:\wamp\www\forSale\dataTable\ajaxSubmit.php on line 17

しかし、変数の値を確認すると、それらは正しいです。どういう意味ですか?

4

3 に答える 3

1

name="field_name"入力フィールドに属性を追加します。これで問題が解決する場合があります。

于 2012-04-30T19:38:00.343 に答える
1

チャットで言ったように、最初は通常どおりにフォームを送信することから始めて、次に javascript で検証して改善し、その後 ajax で送信してみてください。

フォームを基本に戻すと、次のようになります。

<form id="form" method="post" action="ajaxSubmit.php" >
    <fieldset>
        <input type="text" id="name" name="name" value="Name" 
                    onBlur="if(this.value=='') this.value='Name'" 
                    onFocus="if(this.value =='Name' ) this.value=''" />
        <input type="text" id="email" name="email"  value="Email" 
                    onBlur="if(this.value=='') this.value='Email'"
                    onFocus="if(this.value =='Email' ) this.value=''" />
        <input type="text" id="web" name="web"  value="Phone" 
                    onBlur="if(this.value=='') this.value='Phone'" 
                    onFocus="if(this.value =='Phone' ) this.value=''" />
        <textarea id="text" name="text" value="Message"
                    onBlur="if(this.value==''){this.value='Message'}" 
                    onFocus="if(this.value=='Message') this.value=''}" />  
        <input type="reset" />
        <input type="submit" />
    </fieldset>  
</form>
于 2012-05-01T15:51:34.103 に答える
1

私のコーヒー不足が私の目にいたずらをしていない限り、それらの入力に name 属性を指定していません。$_POST には要素の ID は含まれませんが、'name' および 'value' 属性が含まれます。

例えば:

<input type="text" id="name" value="Name" name="name" ...

編集: この理論をデバッグするには、PHP ファイルの $_POST 変数の値を出力してみてください

于 2012-04-30T19:35:22.853 に答える