Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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 检索不同格式的数据_Php_Jquery_Ajax - Fatal编程技术网

Php 检索不同格式的数据

Php 检索不同格式的数据,php,jquery,ajax,Php,Jquery,Ajax,在同一页上提交两份表格。具有不同ID和名称的两个表单和字段。 两种形式中的一种效果很好,但我对第二种有问题 如果输入错误,我需要正常地获取错误消息,如果一切正常,我需要数组数据,因为我想在表单第二步中编写一条消息 我的php代码: //To get errors messages normally if(!empty($errors2)) { $data != "noPassed"; echo display_errors2($errors2); } else

在同一页上提交两份表格。具有不同ID和名称的两个表单和字段。 两种形式中的一种效果很好,但我对第二种有问题 如果输入错误,我需要正常地获取错误消息,如果一切正常,我需要数组数据,因为我想在表单第二步中编写一条消息

我的php代码:

//To get errors messages normally
if(!empty($errors2)) {
            $data != "noPassed";
    echo display_errors2($errors2);

}
else {
    //To retrieve data I need to code my message in step 2
        $data2 = array();   
        $data2['client_id'] = $client_id;
        $data2['client_civilite'] = $client_civilite;
        $data2['client_name'] = $client_name;
        $data2['res2'] = "passed";


        header('Content-Type: application/json');
        echo json_encode($data2);
}
jQuery.ajax({
        url : '/myfolder/parsers/check.php',
        method : 'POST',
        type    : 'POST',
        data : data,
        success : function(data){
        //I presume errors in followed condition
        if (data != 'passed') {
        jQuery('.messages_erreurs').html(data);
        }
        if(data2.res2 == 'passed') {
        $(".frm").hide("fast");
        $("#step2").show("slow");
        $(".open1").css("display","none");
        $(".open2").css("display","inline-block");

       // accès à data.client_civilite, data.client_id, pour message d'identification .

       $('#clt_id').val(data2.client_id);
       $("#check_ok").html(data2.client_civilite+" "+data2.client_nom+" "+': identification réussie.');

      }
脚本:

//To get errors messages normally
if(!empty($errors2)) {
            $data != "noPassed";
    echo display_errors2($errors2);

}
else {
    //To retrieve data I need to code my message in step 2
        $data2 = array();   
        $data2['client_id'] = $client_id;
        $data2['client_civilite'] = $client_civilite;
        $data2['client_name'] = $client_name;
        $data2['res2'] = "passed";


        header('Content-Type: application/json');
        echo json_encode($data2);
}
jQuery.ajax({
        url : '/myfolder/parsers/check.php',
        method : 'POST',
        type    : 'POST',
        data : data,
        success : function(data){
        //I presume errors in followed condition
        if (data != 'passed') {
        jQuery('.messages_erreurs').html(data);
        }
        if(data2.res2 == 'passed') {
        $(".frm").hide("fast");
        $("#step2").show("slow");
        $(".open1").css("display","none");
        $(".open2").css("display","inline-block");

       // accès à data.client_civilite, data.client_id, pour message d'identification .

       $('#clt_id').val(data2.client_id);
       $("#check_ok").html(data2.client_civilite+" "+data2.client_nom+" "+': identification réussie.');

      }
用于获取错误消息的函数:

function display_errors2($errors2) {
$display2 = '<ul class="bg-danger">';
foreach ($errors2 as $error2){
    $display2 .= '<li class="text-danger">'.$error2.'</li>';
}    
    $display2 .= '</ul>';  

return $display2;
}
功能显示\u errors2($errors2){
$display2='
    '; foreach($errors2作为$error2){ $display2.='
  • 。$error2.
  • ; } $display2.='
'; 返回$display2; }
首先,您应该决定从php脚本返回什么,以便可以轻松地在javascript端解析它:文本、html或json

当请求成功时,您会发回json,但当出现错误时,我看不到该标题,因此我怀疑您在发回常规文本

当您发回json时,您需要确保在使用它之前对它进行了解析。您可以通过设置
数据类型
属性来实现这一点。然后,您的
数据
变量将是一个对象(基于php脚本…),因此您可以访问以下值:

jQuery.ajax({
    url : '/myfolder//parsers/check.php',
    method : 'POST',
    // Set the correct data type
    dataType : 'json',
    data : data,
    success : function(data){
        // Access the correct values
        if (data.res2 != 'passed') {
            // You need to set the errorText property (or similar) in php
            jQuery('.messages_erreurs').html(data.errorText);
        }
        // etc.

首先,您应该决定从php脚本返回什么,以便可以轻松地在javascript端解析它:文本、html或json

当请求成功时,您会发回json,但当出现错误时,我看不到该标题,因此我怀疑您在发回常规文本

当您发回json时,您需要确保在使用它之前对它进行了解析。您可以通过设置
数据类型
属性来实现这一点。然后,您的
数据
变量将是一个对象(基于php脚本…),因此您可以访问以下值:

jQuery.ajax({
    url : '/myfolder//parsers/check.php',
    method : 'POST',
    // Set the correct data type
    dataType : 'json',
    data : data,
    success : function(data){
        // Access the correct values
        if (data.res2 != 'passed') {
            // You need to set the errorText property (or similar) in php
            jQuery('.messages_erreurs').html(data.errorText);
        }
        // etc.

消息错误基于数据。。。(我在下面添加代码)。我做了一个jason echo和res2只是为了检索步骤2上的三个数据消息错误基于数据。。。(我在下面添加代码)。我制作了一个jason echo和res2,只是为了在步骤2中检索三个数据