PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Monday, March 14, 2022

[FIXED] ajax in codeigniter showing only false message even when the value exist in database

 March 14, 2022     ajax, codeigniter, javascript, jquery, php     No comments   

Issue

I am trying to check if value exist in database in my CodeIgniter website using AJAAX. I have written the following code:

<input id="username" name="pincode" type="text" class="form-control" placeholder="Enter Pincode">
<input id="prodid" name="prodid" value="<?php echo $prodid;?>" type="hidden">

<button type="button" onclick="check_if_exists();" class="btn btn-primary">Check</button>

function check_if_exists() {

  var username = $("#username").val();
  var prodid = $("#prodid").val();

  $.ajax({
    type: "post",
    url: "<?php echo base_url(); ?>index.php/homecontroller/filename_exists",
    data: {
      username: username,
      prodid: prodid
    },
    success: function(response) {
      if (response == true) {
        $('#msg').html('<span style="color: green;">' + msg + "</span>");
      } else {
        $('#msg').html('<span style="color:red;">Delivery Not Available at ' + username + '</span>');
      }
    }
  });
}

              function filename_exists()
{
    $username = $this->input->post('pincode');
    $prodid = $this->input->post('prodid');
    $exists = $this->product->filename_exists($prodid);
   
 
    if ($exists) {
        return true;
    } else {
        return false;

    }
}

  function filename_exists($prodid)
                  {
  $this->db->select('*');
  $this->db->where('id', $prodid);
  $this->db->from('product');

  $query = $this->db->get();
  $result = $query->result_array();
  return $result;
                  }

I am only getting the message that the value doesn't exist even if the value is there in database.


Solution

  1. You are using AJAX not the form submission method, so in back-end post() method won't work
  2. To transfer a value from server in php, one method is echo, but return is wrong here. Please rewrite your code like this View

function check_if_exists() {

  var username = $("#username").val();
  var prodid = $("#prodid").val();
  var transfer = [username,prodid];
  $.ajax({
    type: "post",
    url: "<?php echo base_url(); ?>index.php/homecontroller/filename_exists",
    data: {result: JSON.stringify(transfer)},
    success: function(response) {
      if (response) {
        $('#msg').html('<span style="color: green;">' + msg + "</span>");
      } else {
        $('#msg').html('<span style="color:red;">Delivery Not Available at ' + username + '</span>');
      }
    }
  });
}

Controller

function filename_exists()
{
    $post = json_decode($_POST['result']);
    $username = $post[0];
    $prodid = $post[1];
    $exists = $this->product->filename_exists($prodid);
    echo $exists;
}

Modal

function filename_exists($prodid)
{
  $this->db->select('id');
  $this->db->where('id', $prodid);
  $this->db->from('product');

  $query = $this->db->get();
  if($query->num_rows()) return true;
}

enter code here


Answered By - dspillai
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home
View mobile version

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing