我有一个网站模板,我想在那里自定义邮件发件人。我看到this form帮助实现它。
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
然后我检查变量的值,它们是正确的。这是什么意思?
答案 0 :(得分:1)
除非我缺少咖啡在我的眼睛上玩耍,否则你没有在这些输入上指定名称属性。 $ _POST不包含元素的ID,而是包含'name'和'value'属性。
e.g:
<input type="text" id="name" value="Name" name="name" ...
编辑:调试这个理论,尝试在PHP文件中输出$ _POST变量的值
答案 1 :(得分:1)
将属性name="field_name"
添加到输入字段。这可能会解决问题。
答案 2 :(得分: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>