Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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 使用AJAX发布表单数据_Php_Jquery_Ajax_Forms_Post - Fatal编程技术网

Php 使用AJAX发布表单数据

Php 使用AJAX发布表单数据,php,jquery,ajax,forms,post,Php,Jquery,Ajax,Forms,Post,您好,我正在尝试对我的联系人表单进行一些验证,在使用AJAX发送数据之后,验证工作正常,并且以HTML的本机方式发送,但是当我尝试使用AJAX时,索引仍在刷新,AJAX的指标不起作用……这是我的代码,问题出在哪里 jquery: $('form').submit(function (e) { var illegalchars=/[^a-zA-Zא-ת\ ]/; var phonechars=/[^0-9\-]/; var mailfilter=/^([a-zA-Z0-9_

您好,我正在尝试对我的联系人表单进行一些验证,在使用AJAX发送数据之后,验证工作正常,并且以HTML的本机方式发送,但是当我尝试使用AJAX时,索引仍在刷新,AJAX的指标不起作用……这是我的代码,问题出在哪里

jquery:

$('form').submit(function (e)
{
    var illegalchars=/[^a-zA-Zא-ת\ ]/;
    var phonechars=/[^0-9\-]/;
    var mailfilter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    var errorDiv = $(".form_error");

    var fullName = $("input[name='full_name']").val();
    var phone = $("input[name='phone']").val();
    var email = $("input[name='email']").val();
    var text = $("textarea[name='text']").val();
    var time = $("textarea[name='time']").val();
    var robCheck = $("textarea[name='rob_check']").val();

    if ( fullName == '' || phone == '' || email == '' || text == '') {
        errorDiv.html('אחד השדות ריק, וודא כי כל השדות מלאים');
        errorDiv.fadeIn('slow');
        setTimeout("$('.form_error').fadeOut(1000);", 3000);
        return false;
    };

    if ( fullName.length < 4 || phone.length < 4 || email.length < 4 || text.length < 4) {
        errorDiv.html("באחד מהשדות הזנת מס' תווים נמוך מהרצוי");
        errorDiv.fadeIn('slow');
        setTimeout("$('.form_error').fadeOut(1000);", 3000);
        return false;
    };

    if ( phonechars.test(phone) ){
        errorDiv.html("הזנת תויים לא חוקיים בשדה של הטלפון");
        errorDiv.fadeIn('slow');
        setTimeout("$('.form_error').fadeOut(1000);", 3000);
        return false;
    }

    if ( !mailfilter.test(email) ){
        errorDiv.html("הזנת תויים לא חוקיים בשדה של האימייל");
        errorDiv.fadeIn('slow');
        setTimeout("$('.form_error').fadeOut(1000);", 3000);
        return false;
    }

    if ( illegalchars.test(fullName) ){
        errorDiv.html("הזנת תויים לא חוקיים בשדה של השם המלא");
        errorDiv.fadeIn('slow');
        setTimeout("$('.form_error').fadeOut(1000);", 3000);
        return false;
    }

    $.ajax({
            url: "send_contact.php",
            type: "POST",
            data: ("#contact_form").serialize(),
            timeout:5000,
            dataType: "php",
            async:true, // TRUE=Continue scripting, FALSE=Stop Everything
            beforeSend:function(){
                $('#loader').css({
                    "display":"block"
                })
                return false;
            },
            error: function(){
                errorDiv.html('משהו השתבש');
                errorDiv.fadeIn('slow');
                setTimeout("$('.form_error').fadeOut(1000);", 3000);
                return false;
            },
            success: function(msg){

                if(msg == 'problem'){
                    errorDiv.html('משהו השתבש');
                    errorDiv.fadeIn('slow');
                }
                else{
                    errorDiv.css({"background":"rgba(60,196,0,1)"})
                    errorDiv.html('עודכן בהצלחה');
                    errorDiv.fadeIn('slow');
                }

                setTimeout("$('.form_error').fadeOut(1000);", 3000);
                return false;
            },
            complete: function(){
                setTimeout("$('.form_error').fadeOut(1000);", 3000);
                return false;
            }
        });

    e.preventDefault();
});
$('form')。提交(函数(e)
{
var illegalchars=/[^a-zA-Zא-ת\];
var phonechars=/[^0-9\-]/;
var mailfilter=/^([a-zA-Z0-9\.\-])+\@([a-zA-Z0-9\-])+\)+([a-zA-Z0-9]{2,4})+$/;
var errorDiv=$(“.form_error”);
var fullName=$(“输入[name='full_name']”)val();
var phone=$(“输入[name='phone']”)val();
var email=$(“输入[name='email']”)val();
var text=$(“textarea[name='text']”)val();
var time=$(“textarea[name='time']”)val();
var robCheck=$(“textarea[name='rob_check']”)val();
如果(全名=“”| |电话=“”| |电子邮件=“”| |文本=“”){
errorDiv.html(';
errorDiv.fadeIn(“慢”);
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
};
if(fullName.length<4 | | | phone.length<4 | | | email.length<4 | | text.length<4){
errorDiv.html(“ב;
errorDiv.fadeIn(“慢”);
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
};
if(电话字符测试(电话)){
errorDiv.html(“הזתתים㪙אחׯשש㪡㜐㪠ן”);
errorDiv.fadeIn(“慢”);
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
}
如果(!mailfilter.test(电子邮件)){
errorDiv.html(“הזתתים㪙אחׯשש㪡איׯש㪡אמיל”);
errorDiv.fadeIn(“慢”);
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
}
if(非法字符测试(全名)){
errorDiv.html(“הזתתים㪙אחׯשש㪚שץ㪚㪠”);
errorDiv.fadeIn(“慢”);
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
}
$.ajax({
url:“send_contact.php”,
类型:“POST”,
数据:(“#联系方式”).serialize(),
超时:5000,
数据类型:“php”,
async:true,//true=继续编写脚本,FALSE=停止所有操作
beforeSend:function(){
$('#loader').css({
“显示”:“块”
})
返回false;
},
错误:函数(){
errorDiv.html(“משההשתבש”);
errorDiv.fadeIn(“慢”);
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
},
成功:功能(msg){
如果(msg=='problem'){
errorDiv.html(“משההשתבש”);
errorDiv.fadeIn(“慢”);
}
否则{
css({“背景”:“rgba(60196,0,1)”})
errorDiv.html(';
errorDiv.fadeIn(“慢”);
}
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
},
完成:函数(){
setTimeout(“$('.form_error').fadeOut(1000);”,3000);
返回false;
}
});
e、 预防默认值();
});
HTML:

<form id="contact_form" method="post" action="send_contact.php">
                <div class="right">
                    <input type="text" name="full_name" placeholder="שם מלא:" /><br />
                    <input type="tel" name="phone" placeholder="טלפון:" /><br />
                    <input type="text" name="email" placeholder="אימייל:" /><br />
                    <input type="hidden" name="time" value="<?php echo ($date); ?>" />
                    <input type="hidden" name="rob_check" value="" />
                </div>
                <div class="left">
                    <textarea name="text"></textarea><br />
                    <input type="submit" name="submit" value="שלח!" />
                </div>
                <div class="breaker"></div>
                <div class="form_error"></div>
            </form>





您在下一行中缺少$符号

数据:(“#联系方式”).serialize()

这应该是-


数据:$(“#联系方式”).serialize(),

请提供比“它不起作用”更多的信息。你试图用什么方法来解决这个问题?您的服务器端代码是否被命中?控制台中是否有错误?以此类推……控制台向我显示了“状态代码:302已找到”的问题,提交操作的值未发布到页面,如果我们查看php代码,我将其作为发送邮件的条件:else if(isset($\u post['submit']),你现在建议做什么?谢谢,这是一个问题,但现在控制台显示状态代码有问题:302已找到,提交操作的值未发布到页面,如果我们查看php代码,我将其作为发送邮件的条件:否则如果(isset($_post['submit')),你现在建议做什么?
<?php

if ( $_POST['rob_check'] != ""){
    echo 'you have a problem with your form!!';
    return false;
    die();
}

else if( isset( $_POST['submit'] ) ){

$name = trim( $_POST["full_name"] );
$email = trim( $_POST["email"] );
$phone = trim( $_POST["phone"] );
$text = trim( $_POST["text"] );
$time = $_POST["time"];

//print_r($_POST);die();

$to = 'adirkandel@gmail.com';
$subject = "פורטפוליו";
//$headers = '';
$message = "
    <html>
        <head lang='he'>
        <title>$subject</title>
        </head>
        <body dir='rtl'>
            <h2>נושא ההודעה: $subject</h2>
            <p>$text</p>
        <hr />
            <table>
                <tr>
                    <th>שם השולח</th>
                    <th>טלפון השולח</th>
                    <th>אימייל השולח</th>
                    <th>נכתב בתאריך</th>
                </tr>
                <tr>
                    <td>$name</td>
                    <td>$phone</td>
                    <td>$email</td>
                    <td>$time</td>
                </tr>
            </table>
        </body>
    </html>
    ";

$message = str_replace("\'", '&#39;', str_replace('\"', '&#34;', $message)); //remove slash before qoutes

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
//$headers .= 'From: <webmaster@example.com>';
//$headers .= 'Cc: myboss@example.com' . "\r\n";

mail($to,$subject,$message,$headers);
}

header("Location: index.php");

?>