Reputation: 264
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
Upvotes: 0
Views: 70
Reputation: 896
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";
}
Upvotes: 1