PHP和HTML表单邮件发送时javascript警报不起作用
我的知识非常有限。我尽力去理解。我想从联系人表单发送邮件,成功后显示警告消息并保持在同一页面上。邮件未发送,代码中似乎有一些错误。请帮忙PHP和HTML表单邮件发送时javascript警报不起作用,javascript,php,html,email,Javascript,Php,Html,Email,我的知识非常有限。我尽力去理解。我想从联系人表单发送邮件,成功后显示警告消息并保持在同一页面上。邮件未发送,代码中似乎有一些错误。请帮忙 <form action="" method="post"> <div class="col-md-6"> <input name="name" type="text" class="form-control" placeholder="Name"> </div> <
<form action="" method="post">
<div class="col-md-6">
<input name="name" type="text" class="form-control" placeholder="Name">
</div>
<div class="col-md-6">
<input name="email" type=“text” class="form-control" placeholder="Email">
</div>
<div class="col-md-12">
<input name="subject" type="text" class="form-control" placeholder="Subject">
</div>
<div class="col-md-12">
<textarea name="message" class="form-control" placeholder="Message" rows="4"></textarea>
</div>
<div class="col-md-8">
<input type="submit" class="form-control text-uppercase" name="send" value="submit" />
</div>
</form>
<?php
if ($_POST['send']) {
$ToEmail = 'info@autonomousdata.com';
$EmailSubject = $_POST['subject'];
$mailheader = "From: ".$_POST['email']."\r\n";
$mailheader .= "Reply-To: ".$_POST['email']."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n" .
"X-Mailer: PHP/" . phpversion();
$MESSAGE_BODY = "Name: ".$_POST['name']."\n";
$MESSAGE_BODY .= "Email: ".$_POST['email']."\n";
$MESSAGE_BODY .= "Comment: ".$_POST['message']."";
if(mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader)!==true) {
?>
<script type='text/javascript'> alert('failed to send the mail'); </script>
<?php
die('Fail to send');
} else{
?>
<script type='text/javascript'>alert('Thank you for contacting us! All information received will always remain confidential. We will contact you as soon as we review your message.');
</script>
<?php
}
}
?>
警报(“发送邮件失败”);
警报('感谢您联系我们!收到的所有信息将始终保密。我们将在查看您的邮件后立即与您联系。');
HTML表单的type='text'
周围有可疑的引号,我修改了php,添加了一些基本的变量检查和清理功能~希望能有所帮助
<form action="" method="post">
<div class="col-md-6">
<input name="name" type="text" class="form-control" placeholder="Name">
</div>
<div class="col-md-6"><!-- // incorrect quotation used on `text` //-->
<input name="email" type='text' class="form-control" placeholder="Email">
</div>
<div class="col-md-12">
<input name="subject" type="text" class="form-control" placeholder="Subject">
</div>
<div class="col-md-12">
<textarea name="message" class="form-control" placeholder="Message" rows="4"></textarea>
</div>
<div class="col-md-8">
<input type="submit" class="form-control text-uppercase" name="send" value="submit" />
</div>
</form>
<?php
if( $_SERVER['REQUEST_METHOD']=='POST' && isset( $_POST['subject'],$_POST['email'],$_POST['name'],$_POST['message'] ) ){
$to = 'info@autonomousdata.com';
$name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING );
$subject = filter_input( INPUT_POST, 'subject', FILTER_SANITIZE_STRING );
$message = filter_input( INPUT_POST, 'message', FILTER_SANITIZE_STRING );
$email = filter_var( filter_input( INPUT_POST, 'email', FILTER_SANITIZE_STRING ), FILTER_VALIDATE_EMAIL );
$headers=array();
$headers[]="From: {$email}";
$headers[]="Reply-To: {$email}";
$headers[]="Content-type: text/html; charset=iso-8859-1";
$headers[]="X-Mailer: PHP/" . phpversion();
/* generate final headers string */
$headers=implode( "\r\n", $headers );
$message=array();
$message[]="Name: {$name}";
$message[]="Email: {$email}";
$message[]="Comment: {$message}";
/* generate final message string */
$message=implode( "\n", $message );
$result=@mail( $to, $subject, $message, $headers );
switch( $result ){
case true:
$msg='Thank you for contacting us! All information received will always remain confidential. We will contact you as soon as we review your message.';
break;
case false:
$msg='failed to send the mail';
break;
}
echo "<script type='text/javascript'>alert('{$msg}');</script>";
}
?>
HTML表单的type='text'
周围有可疑的引号,我修改了php,添加了一些基本的变量检查和清理,希望能有所帮助
<form action="" method="post">
<div class="col-md-6">
<input name="name" type="text" class="form-control" placeholder="Name">
</div>
<div class="col-md-6"><!-- // incorrect quotation used on `text` //-->
<input name="email" type='text' class="form-control" placeholder="Email">
</div>
<div class="col-md-12">
<input name="subject" type="text" class="form-control" placeholder="Subject">
</div>
<div class="col-md-12">
<textarea name="message" class="form-control" placeholder="Message" rows="4"></textarea>
</div>
<div class="col-md-8">
<input type="submit" class="form-control text-uppercase" name="send" value="submit" />
</div>
</form>
<?php
if( $_SERVER['REQUEST_METHOD']=='POST' && isset( $_POST['subject'],$_POST['email'],$_POST['name'],$_POST['message'] ) ){
$to = 'info@autonomousdata.com';
$name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING );
$subject = filter_input( INPUT_POST, 'subject', FILTER_SANITIZE_STRING );
$message = filter_input( INPUT_POST, 'message', FILTER_SANITIZE_STRING );
$email = filter_var( filter_input( INPUT_POST, 'email', FILTER_SANITIZE_STRING ), FILTER_VALIDATE_EMAIL );
$headers=array();
$headers[]="From: {$email}";
$headers[]="Reply-To: {$email}";
$headers[]="Content-type: text/html; charset=iso-8859-1";
$headers[]="X-Mailer: PHP/" . phpversion();
/* generate final headers string */
$headers=implode( "\r\n", $headers );
$message=array();
$message[]="Name: {$name}";
$message[]="Email: {$email}";
$message[]="Comment: {$message}";
/* generate final message string */
$message=implode( "\n", $message );
$result=@mail( $to, $subject, $message, $headers );
switch( $result ){
case true:
$msg='Thank you for contacting us! All information received will always remain confidential. We will contact you as soon as we review your message.';
break;
case false:
$msg='failed to send the mail';
break;
}
echo "<script type='text/javascript'>alert('{$msg}');</script>";
}
?>
您是从本地服务器(localhost)还是live server发送电子邮件?您在html表单Not localhost中使用了关于电子邮件
的不正确引用。实时服务器。该网站托管在服务器中。它们支持php和电子邮件。我问过他们,他们说服务器端的php配置是正确的。问题是我的编码技能…:(@RamRaider感谢您的关注。我猜我的文本编辑器有一些设置。但问题不止于此。我加载页面后,JS警报显示,然后else警报显示!!这是一种更好的表单代码吗?您是否从本地服务器(localhost)发送电子邮件或者live server?您在html格式中使用了关于电子邮件的不正确引用,而不是localhost.live server。该网站托管在服务器中。他们支持php和电子邮件。我问了他们,他们说服务器端的php配置是正确的。问题是我的编码技能…:(@RamRaider感谢您的关注。我猜我的文本编辑器有一些设置。但问题不止于此。我加载页面后,JS警报显示,然后else警报显示!!这是一种更好的表单代码吗?哇,很好的例子。遗憾的是不起作用。最后一行回显“alert({$msg}”);似乎给出了一些语法错误。删除该行可以修复该错误,但此时仍无法接收消息info@autonomousdata.com.真的不明白怎么回事。我刚刚打开了一个测试页面,但没有发现任何错误-无法确认是否会发送电子邮件,因为测试仅在本地主机上进行…我可以发送一个屏幕截图。是pos吗可以添加?通过回显行,浏览器在联系人表单附近显示这个sting-alert(“{$msg}”);“;}?”>。这意味着一些错误。但是,当我删除该行时,该字符串不再存在。我可能在某个地方有其他错误吗?哇,很好的例子。遗憾没有工作。最后一行回显“alert({$msg}”);";似乎给出了一些语法错误。删除该行可以修复该错误,但此时仍无法接收消息info@autonomousdata.com.真的不明白怎么回事。我刚刚打开了一个测试页面,但没有发现任何错误-无法确认是否会发送电子邮件,因为测试仅在本地主机上进行…我可以发送一个屏幕截图。是pos吗可以通过回显行添加?浏览器在联系人表单附近显示此sting-alert(“{$msg}”);“;}?”>。这意味着出现了一些错误。但是,当我删除该行时,该字符串不再存在。我可能在某个地方有其他错误吗?