Using Jquery with PHP

336
November 21, 2016, at 10:30 PM

I am developing a program to negotiate with the user. I want the user to quote the price, that price must be stored in a javascript variable and then based on some conditions, the program will decide wether to accept the price or not.

I have completed the program in PHP, but I am unable to write this in javascript (I don't want the page to be refreshed every time the user quotes a price, so I have to write this in javascript ) as I am new to it.

As soon as the user presses the accept price button I want the final price to be passed to PHP .

Here is my PHP code for it :

<?php

if (isset($_POST['accept'])) {
    echo 'Price Accepted';

if (isset($_SESSION['my_quote'])) {
            $_SESSION['cart_total']=$_SESSION['my_quote'];
        }
unset($_SESSION['my_quote']);
    //NOW PLACING THE ORDER
    header("Location:checkout.php");
} else {
    if (isset($_POST['user_quote']) && !empty($_POST['user_quote'])) {
        $user_quote = sanitize($_POST['user_quote']);

        if (!isset($_SESSION['my_quote'])) {
            $_SESSION['my_quote']=$_SESSION['cart_total'];
        }

        if ($user_quote < 0.9 * $_SESSION['cart_total']) {
            $_SESSION['my_quote'] = rand(0.9 * $_SESSION['cart_total'], $_SESSION['my_quote']);

            echo 'Price Unacceptable. I can go upto : ' . $_SESSION['my_quote'];
        }

    } else {
        $errors[]="Please Enter Something";
    }
}

?>

  <center>Your Current Total IS : Rs. <?php echo $_SESSION['cart_total'] ?></center>
<div class="alert-warning">
    <a href="#" class="close" data-dismiss="alert" aria-label="alert">&times</a>
    <?php if(!empty($errors)){echo output_errors($errors);} ?>
</div>

<form class="negotiation_form" action="" method="POST" class="form">
    <input type="text" name="user_quote" class="span4"><br>
    <input type="submit" value="Quote !" class="btn ">  
</form>
<form action="" method="POST" class="negotiation_form">
    <input type="hidden" name="accept">
    <input type="submit" value="Accept / Checkout" class="btn ">
</form>
Answer 1

You will want to use jquery and send the request to the php file asynchronously to prevent the page from reloading.

Here is a basic script how to solve it on the client side:

<script src="/js/jquery.js" type="text/javascript"></script> 
<script> 
  $(function() { 
    $('form').submit(function(event) { 
        $.ajax({ url: '/PHP/File/Path', data: { param1: $('#Id_of_Input_field').val() }, type: "POST" }) 
    .success(function (result) { 
      // do something with result 
    }); 
    // prevent the page from submitting the form 
    event.preventDefault(); 
 
  }); 
}); 
</script>

Hope this helps!

READ ALSO
PHP post request data retrieval using Jquery AJAX

PHP post request data retrieval using Jquery AJAX

I have recently been trying to get back information from php using Jquery's ajax function Sending an the request works fine but receiving the information does not. I would appreciate the assistance.

324
Use jquery ajax to post multiple variables and stay on same page

Use jquery ajax to post multiple variables and stay on same page

I am a beginner in coding. I want to post multiple data using jquery ajax to a php file & remain on same page to process result(data).

225
How can I &ldquo;pinch&rdquo; an element containing text smoothly?

How can I “pinch” an element containing text smoothly?

My goal is to transition a list so that when an item is clicked, it smoothly rises to the top of the list, becoming the title (see example). Realistically, a menu UI would appear below it.

170
Add a select box for a d3 network diagram

Add a select box for a d3 network diagram

I find this pretty cool d3 network diagram on a website (a json file is at the bottom of this page). Then I'm thinking about adding some kind of select box as filter to select data so specific shape of the nodes will be shown only.

458