How to get data from ajax in php

Three days had passed and still having problems to get this things work. This AJAX Call on my js file seems working when it comes to sending JSON data:

 var _lname = $('#ptLastName').val();
 var _fname = $('#ptFirstName').val();
 var _mname = $('#ptMiddleName').val();
 var _gender = $('#ptGender').val();
 var _bday = $('input[name="birthdate"]').val(); // $('#ptBirthDate').val();
 var _ssn = $('#ptSSN').val();

 $.ajax({
          type: "POST",
          url: ".././CheckPerson.php",
          data: "{'lastName':'" + _lname + "','firstName':'" + _fname + "','middleName':'" + _mname + "'}",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (response) {
          var res = response.d;
          if (res == true) {
               jAlert('Person Name already exists!', 'Error');
               return;
          } 
})

but in my PHP file:

$lastname = json_decode($_POST['lastName']);
$firstname = json_decode($_POST['firstName']);
$middlename = json_decode($_POST['middleName']);
$response = array();

mysql_connect ("*****", "****") or die ('Error: ' . mysql_error());
mysql_select_db ("********");

$query = "SELECT Lastname, Firstname, MiddleName FROM tbl_people WHERE Lastname = '$lastname' || Firstname = '$firstname' || MiddleName = '$middlename'";

$result = mysql_query($query);

$row = mysql_fetch_array($result);

    if ($row) {     
        $response = json_encode(array('d' => true, 'test' => $lastname)); 
    }
    else { 
    $response = json_encode(array('d' => false, 'test' => $lastname));
    }
echo $response;
print json_encode($_POST);

some error from firebug console says:


Notice: Undefined index: lastName in C:\xampp\htdocs\..\CheckPerson.php on line 2

Notice: Undefined index: firstName in C:\xampp\htdocs\..\CheckPerson.php on line 3

Notice: Undefined index: middleName in C:\xampp\htdocs\..\CheckPerson.php on line 4
{"d":false,"test":null}[]

i believe that json_decode() is working fine in my php file but $_POST[''] can't recognize my posted data from my ajax call w/c variables had been declared:

data: "{'lastName':'" + _lname + "','firstName':'" + _fname + "','middleName':'" + _mname + "'}",

I believe I am doing right with my codes seems i had read many questions here and done what they had said but don't know why the error occurred. Is there any problem/bug you had seen? please tell me.


AJAX can be used for interactive communication with a database.


AJAX Database Example

The following example will demonstrate how a web page can fetch information from a database with AJAX:

Example

Person info will be listed here...


Example Explained - The MySQL Database

The database table we use in the example above looks like this:

idFirstNameLastNameAgeHometownJob
1 Peter Griffin 41 Quahog Brewery
2 Lois Griffin 40 Newport Piano Teacher
3 Joseph Swanson 39 Quahog Police Officer
4 Glenn Quagmire 41 Quahog Pilot

Example Explained

In the example above, when a user selects a person in the dropdown list above, a function called "showUser()" is executed.

The function is triggered by the onchange event.

Here is the HTML code:

Example










Person info will be listed here...


Run example »

Code explanation:

First, check if person is selected. If no person is selected (str == ""), clear the content of txtHint and exit the function. If a person is selected, do the following:

  • Create an XMLHttpRequest object
  • Create the function to be executed when the server response is ready
  • Send the request off to a file on the server
  • Notice that a parameter (q) is added to the URL (with the content of the dropdown list)


The PHP File

The page on the server called by the JavaScript above is a PHP file called "getuser.php".

The source code in "getuser.php" runs a query against a MySQL database, and returns the result in an HTML table:






$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123');
if (!$con) {
  die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "








";
while($row = mysqli_fetch_array($result)) {
  echo "";
  echo "";
  echo "";
  echo "";
  echo "";
  echo "";
  echo "";
}
echo "
Firstname Lastname Age Hometown Job
" . $row['FirstName'] . "" . $row['LastName'] . "" . $row['Age'] . "" . $row['Hometown'] . "" . $row['Job'] . "
";
mysqli_close($con);
?>

Explanation: When the query is sent from the JavaScript to the PHP file, the following happens:

  1. PHP opens a connection to a MySQL server
  2. The correct person is found
  3. An HTML table is created, filled with data, and sent back to the "txtHint" placeholder


How do I get AJAX data?

The following example shows how to send a simple Ajax request..
Example: jQuery Ajax Request. $.ajax('/jquery/getdata', // request url { success: function (data, status, xhr) {// success callback function $('p').append(data); } });

... .
Example: Get JSON Data. ... .
Example: ajax() Method. ... .
Example: Send POST Request..

How AJAX get data from another page in PHP?

php", success: function(data){ $. ajax({ url: "data. php? id=data" } });

How display fetch data on button click using AJAX in PHP AJAX?

Create HTML Button to display data on click Create an HTML button with id="showData" . Ajax script will execute on click this button. Create a div with id="table-container" . This div will use to show data while you click the button.

How do you retrieve data from database using AJAX without submit?

Get Data From a Database Without Refreshing the Browser Using....
Step 1: Create an HTML form to upload data. First we will create a simple form to get the user's data. ... .
Step 2: Get data with Ajax/jQuery. We will use the AJAX method to get the data without refreshing the page. ... .
Step 3: Connect to the database and get data..