Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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
Javascript jquery验证表单发送空白电子邮件_Javascript_Php_Jquery_Email - Fatal编程技术网

Javascript jquery验证表单发送空白电子邮件

Javascript jquery验证表单发送空白电子邮件,javascript,php,jquery,email,Javascript,Php,Jquery,Email,表单工作正常,如果您填写,它会发送电子邮件,如果您没有填写所有输入,它会警告您必须填写,并且在填写之前不会发送表单 我正在使用jquery.validate.js,但最近,我收到了一些空白电子邮件。如果验证有效(我甚至在旧浏览器中测试过),为什么它会给我发送空白电子邮件 HTML 提交 取消 PHP $subject=“Web”; $to$contact@web.com'; $header.=“内容类型:text/html;字符集=UTF-8”; $headers=“From:”$_职位[“

表单工作正常,如果您填写,它会发送电子邮件,如果您没有填写所有输入,它会警告您必须填写,并且在填写之前不会发送表单

我正在使用jquery.validate.js,但最近,我收到了一些空白电子邮件。如果验证有效(我甚至在旧浏览器中测试过),为什么它会给我发送空白电子邮件

HTML


提交
取消
PHP

$subject=“Web”;
$to$contact@web.com';
$header.=“内容类型:text/html;字符集=UTF-8”;
$headers=“From:”$_职位[“姓名”];
$headers.=“\r\n”;
$headers.=“回复:”$_发布[“电子邮件”]。“\r\n”;
$headers.=“返回路径:”$_张贴[“电子邮件”];
$message.=“******************************************************************************************************\n”;
$message.=“联系人\n”;
$message.=“************************************************************************************************************\n\n”;
$message.=“Nombre:”$_POST[“name”]。“\r”;
$message.=“电子邮件:”$_发布[“电子邮件”]。“\r”;
$message.=“Mensaje:”$_发布[“消息”]。“\r”;
$mail_sent=mail($to、$subject、$message、$headers);
如果($mail_sent==true){?>window.alert('瞧,我们知道你')

window.location.href='index.html';警报('不,再试一次');使用客户端验证的事实并不能保证您始终在后端收到有效的输入。您也应该始终在PHP脚本中进行验证,无论您是否在浏览器中进行验证。可能存在用户禁用JS或甚至恶意对您的请求加框的情况服务器端脚本。

请确保使用
\r\n
终止
$message
中的每一行。尝试在
返回路径
行后添加
\r\n
。那么这里的真正问题是什么?您的表单已填写,但电子邮件为空?或者发送了空表单?您做了哪些基本的疑难解答?H你看了
$\u POST
数组中的内容了吗?发送的是一个空表单,很抱歉我不清楚。此外,我按照vee和jboneca的建议,在其中一个表单中添加了\r\n终止每一行(我对两个不同的网站有此问题),到目前为止,它没有再发送空白电子邮件(至少在周末)。我会对另一个做同样的事情,看看它是否有效。谢谢你,伙计。我一直收到空白邮件,我很恼火。这个一般性建议是如何解决他的问题的?因为问题中没有提到,如果每次提交表单时表单都发送空白邮件。这可能是一个非常不同的情况的结果。我同意,这就是为什么我发表了一条评论,不是回答。你是对的!我们需要确认发生了什么。谢谢你让我知道这件事。
<form id="contact-form" method="post" action="contacto.php">
                <fieldset>

                    <div class="control-group">
                        <div class="controls">
                            <input name="name" id="name" type="text" placeholder="Nombre" required> 
                        </div>
                    </div>

                    <div class="control-group" style="margin-top:10px;">
                        <div class="controls">
                            <input type="text" name="email" id="email" placeholder="Email" required>
                        </div>
                    </div>

                    <div class="control-group" style="margin-top:10px;">
                        <div class="controls">
                            <textarea class="input-xlarge" name="message" id="message" rows="3" placeholder="Mensaje"></textarea>
                        </div>
                    </div>

                <div class="form-actions">
                    <button type="submit" class="demo-pricing demo-pricing-1">Submit</button>
                    <button type="reset" class="demo-pricing demo-pricing-1">Cancel</button>
                </div>
            </fieldset>
        </form>
$subject = "Web";

$to = 'contact@web.com';
$header .= "Content-Type: text/html; charset=UTF-8";
$headers = "From: " . $_POST["name"]; 
$headers .= "<" . $_POST["email"] . ">\r\n"; 
$headers .= "Reply-To: " . $_POST["email"] . "\r\n"; 
$headers .= "Return-Path: " . $_POST["email"]; 

$message .= "************************************************** \n";
$message .= "Contact \n";
$message .= "************************************************** \n\n";  

$message .= "Nombre: " . $_POST["name"] . "\r";
$message .= "E-mail: " . $_POST["email"] . "\r";
$message .= "Mensaje: " . $_POST["message"] . "\r";

$mail_sent = mail($to, $subject, $message, $headers); 
if ($mail_sent == true){ ?>         <script language="javascript" type="text/javascript">         window.alert('behold, we are aware of you')
    window.location.href='index.html';         </script>     <?php } else { ?>     <script language="javascript" type="text/javascript">         alert('nope, try again');      </script>     <?php     }