Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交表单后的Echo div类_Php_Html - Fatal编程技术网

Php 提交表单后的Echo div类

Php 提交表单后的Echo div类,php,html,Php,Html,我的网站上有一张联系表。当用户按submit并填写详细信息时,它会向我发送一封电子邮件。但是,当他们单击提交时,在下面应该会出现一个绿色框,而当我单击提交时,它会显示一个红色框并显示“已发送邮件”。下面是contact.PHP中导致此问题的PHP行 简单地说,该框应改为绿色,并具有来自已发送消息的文本,而不是此文本 if($mail->Send()) { echo "mail sent"; } else { echo "mail sent fa

我的网站上有一张联系表。当用户按submit并填写详细信息时,它会向我发送一封电子邮件。但是,当他们单击提交时,在
下面应该会出现一个绿色框,而当我单击提交时,它会显示一个红色框并显示“已发送邮件”。下面是contact.PHP中导致此问题的PHP行

简单地说,该框应改为绿色,并具有来自已发送消息的文本,而不是此文本

if($mail->Send()) {
    echo "mail sent";
}
else {
    echo "mail sent failed";
}

加载
您的邮件已发送。非常感谢。
发送消息
如果($mail->Send()){
回显“已发送邮件”;
$color='绿色';
}
否则{
回显“邮件发送失败”;
$color='red';
}
?>
加载
“>您的邮件已发送,谢谢!

您可以在contact.php中执行以下操作:

$sent = false; 
if($mail->Send()) { $sent = true; } 
然后在html中显示消息:

<?php 
if($sent) { ?>
<div class="sent-message">Your message has been sent. Thank you!</div>
<?php } ?>

您的邮件已发送。谢谢!
更新

因此,表单提交由jQuery控制。您只需通过
echo'OK'
而不是php脚本中的“mail sent”来显示消息,代码必须返回

if($mail->Send()) {
    echo "OK";
}
如果您想要不同的消息,可以在此处更改:

<div class="sent-message">My new message</div>
我的新消息

这并不能解决问题,它仍然会显示一个红色框,上面写着邮件已发送@Namys@slkdanfalvsd更好地解释。此消息显示在哪里?在哪个
div
中?检查css?具有类sent message的div是否具有一些css属性?div类位于index.html中,表单为contact.php。div class=“sent message”的样式“在我的css文件中。我不知道为什么你会需要css虽然@pLe0mAx@slkdanfalvsd因为在你的css中,ovbiously有一些css属性重写它,你的字体颜色保持红色。检查它或更好地解释您打印邮件的位置。尝试设置
!重要信息
style='background-color:“我将更新并添加发送消息、错误消息和加载的CSS。这取决于您提交表单的方式。把你的代码也显示出来。上面的PHP代码属于contact.PHP
?表单设置为POST,是的,上面的PHP代码属于contact.PHP。contact.PHP中的其余代码用于发送电子邮件@mparekWhere是html中的“红色框”?在index.html
@mparekyou可以这样做:
$sent=false;如果($mail->Send()){$sent=true;}
则在html中显示消息:
您的消息已发送。谢谢大家!我将第二个脚本放在HTML文件中的什么位置?记住,它是一个.html文件,所以它不支持PHP@mPareekYou在您的问题中没有提到过关于.html的任何地方。那么,您是如何显示“已发送邮件”消息的呢?对于造成的混乱,我深表歉意,我希望这能澄清问题@Mpareki找到了控制它的jQuery。请检查一下,这就是我首先问的,你是如何提交表格的。因此,这意味着您正在使用jquery和ajax。
<div class="sent-message">My new message</div>