i have a form as follows:
<div class="any_reg">
<div class="mail_area">
<form name="any_reg" id="any_reg" method="POST" action="" class="mail_area">
<table>
<tr>
<td><input type="text" name="email" id="mail" placeholder="Enter Your Email"></td>
<input type="hidden" name="id" value="<?php echo $auction ?>">
<td><input type="submit" name="submitmail" id="submitmail" value="Submit"></td>
</tr>
</table>
</form>
</div>
</div>
i have an ajax call as follows: i have given the url as $ajaxUrl= $dir."/watchemailajax.php";
if(tre == true){
$.ajax({url: '<?php echo $ajaxUrl; ?>',method:'POST',
data:$('#any_reg').serialize()
,success: function(result){
alert(result);
if (result== "Success"){
alert("SUCCESS");
}else
{
alert("Failed");
}
Which Goes to a page with the following code:
<?php
if (strstr($_SERVER['PHP_SELF'],WPA_PLUGIN_NAME) && isset($_GET['submitmail'])){
check_ajax_referer( "WPA-nonce" );
$auction_id = $_POST['auction_id'];
$watch_email = strip_tags(stripslashes($_POST['email']));
$tablename = $wpdb->prefix . "wp_wpa_watchlist";
$sql = "INSERT INTO ".$tablename." (auction_id, watch_email) VALUES (".$auction_id.", '".$watch_email."' );";
$result = $wpdb->query($sql);
if ($result){
echo "Success";
// _e("You will be notified of any changes to this auction",'wpauctions');
}
else {
echo "Failed";
}
}
The call is returning empty data and nothing else. I am kinda newbie when it comes to Ajax and anything related to it. please help me. Wht is my mistake
You might be failing to meet the requirements for this if statement if (strstr($_SERVER['PHP_SELF'],WPA_PLUGIN_NAME) && isset($_GET['submitmail'])){
thus causing it to skip execution of the script. Add an else statement to the first if statement and add a message so you can see when it fails like so:
if (strstr($_SERVER['PHP_SELF'],WPA_PLUGIN_NAME) && isset($_GET['submitmail'])){
check_ajax_referer( "WPA-nonce" );
$auction_id = $_POST['auction_id'];
$watch_email = strip_tags(stripslashes($_POST['email']));
$tablename = $wpdb->prefix . "wp_wpa_watchlist";
$sql = "INSERT INTO ".$tablename." (auction_id, watch_email) VALUES (".$auction_id.", '".$watch_email."' );";
$result = $wpdb->query($sql);
if ($result){
echo "Success";
// _e("You will be notified of any changes to this auction",'wpauctions');
}
else {
echo "Failed";
}
}
else {
echo "Failed if statement";
}