weixin_33720452 2014-09-26 07:19 采纳率: 0%
浏览 27

Phonegap,AJAX-PHP数组问题

I am in trouble while pass user's input value via array from HTML (Using AJAX) To php page (In fetching Array) . Is method I use is correct ? I didn't get value in my PHP page.

First I assign user's value to variable

var first_name = $("[name='first_name']").val();
var last_name = $("[name='last_name']").val();

Then Create Its array.

var MyArray = {"firstname": first_name, "lastname": last_name};

And Here How I pass value to external server's php file

$.ajax({
        type: "POST",
        url: GolbalURL+"updategeneralinformation.php",
        data: "userarray="+ MyArray,
        dataType:'json',
        success: function(response){
            if(response.success) {
                navigator.notification.alert(
                    'Ok',
                    // No need for Callback function
                    'Ok',
                    'Ok'
                )
            }
            else {
                navigator.notification.alert(
                    'Something went wrong while attempting update',
                    // No need for Callback function
                    'Atempt Fail',
                    'Try Again'
                )
            }
        },
        error: function(error){
            navigator.notification.alert(
                    error,
                    // No need for Callback function
                    'Something wrong',
                    'Try Again'
                )
        }
    });
    return false;

Now PHP File code for retrieve Requested array from HTML page and run PHP-MySQL Update Query

$get_array = $_REQUEST['userarray'];
$query = mysql_query("UPDATE ".$db.".users SET first_name='$get_array["firstname"]', last_name='$get_array["lastname"]' ");
mysql_query($query);
   if (!mysql_query($query, $con)) {
  //die('Error: ' . mysql_error());
  $response['success'] = false;
} else {
  $response['success'] = true;
}
  • 写回答

3条回答 默认 最新

  • weixin_33726943 2014-09-26 07:27
    关注

    Use

    data: MyArray,
    

    or

    data: {firstname: first_name, lastname: last_name},
    

    instead of

    data: "userarray="+ MyArray,
    

    at server side

    $get_array = $_POST;
    

    and

    $query = mysql_query("UPDATE ".$db.".users SET first_name='" . $get_array["firstname"] . "', last_name='" . $get_array["lastname"] . "'");
    

    Note: the mysql_query is deprecated, use pdo or mysqli, and its unsecure in this form (mysql_real_escape_string() missing)

    评论

报告相同问题?