Satch3000
Satch3000

Reputation: 49384

Ajax Post Value not being passed to php file

I am having problems passing the variable to the php page.

Here is the code below:

var varFirst = 'something'; //string
var varSecond = 'somethingelse'; //string

$.ajax({  
   type: "POST",  
   url: "test.php",  
   data: "first="+ varFirst +"&second="+ varSecond,  
       success: function(){  
          alert('seccesss');

   }
});

PHP:

$first = $_GET['first']; //This is not being passed here
$second = $_GET['second']; //This is not being passed here

$con=mysqli_connect("localhost","root","pass","mydb"); 

if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"INSERT INTO mytable (id, first, second) VALUES ('', $first, $second)");

mysqli_close($con);


}

I'm I missing something? The actual data is saving to the database BUT $first and $second value is not being passed to the php file.

Upvotes: 0

Views: 68

Answers (4)

عثمان غني
عثمان غني

Reputation: 2708

And there is a method to pass data like that

$.ajax({  
   type: "POST",  
   url: "test.php",  
   data: {first: varFirst,second: varSecond},  
       success: function(){  
          alert('seccesss');

   }
});

And there you can use

$_POST['first'];
$_POST['second'];

Hope it helps.

Upvotes: 1

Dimag Kharab
Dimag Kharab

Reputation: 4519

You are using type: "POST" in ajax and trying to fetch using $_GET, try

$first = $_REQUEST['first']; //This is not being passed here
$second = $_REQUEST['second'];

Upvotes: 1

Fabio
Fabio

Reputation: 23480

This is appening because your are passing data throw POST method and try to get with GET so change those two lines

$first = $_POST['first']; //This is not being passed here
$second = $_POST['second']; //This is not being passed here

Or simply change your method to GET in your jquery

type: "GET"

Upvotes: 2

ncrocfer
ncrocfer

Reputation: 2570

You are using the POST type, retrieve it in POST :

$first = $_POST['first'];
$second = $_POST['second'];

Or change your JQuery call :

$.ajax({  
   type: "GET",  
   url: "test.php",  
   data: "first="+ varFirst +"&second="+ varSecond,  
       success: function(){  
          alert('seccesss');
   }
});

Upvotes: 2

Related Questions