检查不起作用: - if(isset($ _PHP [" form_name"]))

时间:2018-04-12 11:15:48

标签: php jquery ajax forms

文件中有多种查询形式,您需要进行表单检查,如果不这样做,所有带有查询的表单都会被执行,对我来说这是不正确的。在if (isset($_POST ['form_name']))的帮助下,我做了检查,但没有退出。有什么问题?

<form id="form" method="POST">
   <input type="text" name="telephone[]"> 
   <input type="text" name="telephone[]">       
   <input type="hidden" name="form_name" value="form_ex">
   <button type="submit" name="update" id="btn_post_phones" value="button_value">Update phone</button>
</form>
if (isset($_POST['form_name'])) {  
      var_dump ('true -->');
      echo "<pre>";
      var_dump(json_decode($_POST["phones"], true));
} else {
      var_dump ('false-->');
      echo "<pre>";
      var_dump(json_decode($_POST["phones"], true));
}

//string(8) "false-->"
//array(2) {
//  [0]=>
//  string(6) "345345"
//  [1]=>
//  string(6) "345345"
//}
$('#form').submit(function(event) {
var arrPhones = new Array();  
    event.preventDefault();
    $('input[name="telephone[]"]').each(
        function() {
            arrPhones.push($(this).val()); 
        });
    var data='phones='+JSON.stringify(arrPhones);
    $.ajax({
        type: 'POST',
        url:  'regist.php',
        dataType: 'json',
        data:  data,
        // data:  $('input[name="telephone[]"]').serialize,
        beforeSend: function(){
            console.log('before ' + data);
        },
        success: function(response){ 
          console.log(response);
        }       
    });
});

1 个答案:

答案 0 :(得分:2)

1.删除var data='phones='+JSON.stringify(arrPhones);

2.而不是data: data,data:{'phones':JSON.stringify(arrPhones)},

3.而不是if (isset($_POST['form_name'])) {...}使用if (isset($_POST['phones'])) {...}