PHP & REST API Integration, Cant Get page to load properly
-
Hi WordPress Community,
I’ve been building out a custom php script to allow users to input data in a form and pull information from a REST API for the RentJuice real estate rental search platform. I’m pretty sure I now have everything in working order except for what happens upon clicking the “submit” button.
Basically, upon clicking “submit” the page should reload with a list of rental properties available below the search form. Instead, upon submission, the script is somehow redirecting to the site’s home page. I’ve pasted the code below (and cut a number of the option values for the sake of it not being super long. The page in action is currently at: http://blrboston.com/rental-search-test/ . Any help would be greatly appreciated!
<?php /* Template name: Rental Search Test */ get_header(); ?> <?php /* Definitions for form field variables */ $minrent = $_POST["Min Rent"]; $maxrent = $_POST["Max Rent"]; $minbeds = $_POST["Min Beds"]; $maxbeds = $_POST["Max Beds"]; $neighborhood = $_POST["Neighborhood"]; $minbaths = $_POST["Baths"]; $pets = $_POST["Pets"]; $mindateavailable = $_POST["Earliest Date Available"]; $maxdateavailable = $_POST["Latest Date Available"]; if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form ?> <div class="rentalsearch"> <form method="post" action="<?php echo $PHP_SELF;?>"> <table> <tr><td> <label for=min_rent>Min Rent</label><br> <select name="Min Rent"> <option value="0">-</option> <option value="1000">$1,000</option> <option value="2000">$2,000</option> <option value="3000">$3,000</option> <option value="4000">$4,000</option> <option value="5000">$5,000</option> <option value="6000">$6,000</option> <option value="7000">$7,000</option> <option value="8000">$8,000</option> <option value="9000">$9,000</option> <option value="10000">$10,000</option> <option value="11000">$11,000</option> <option value="12000">$12,000</option> <option value="13000">$13,000</option> <option value="14000">$14,000</option> <option value="15000">$15,000</option> </select> </td> <td> <label for=max_rent>Max Rent</label> <select name="Max Rent"> <option value="100000">-</option> <option value="1000">$1,000</option> <option value="2000">$2,000</option> <option value="3000">$3,000</option> <option value="4000">$4,000</option> <option value="5000">$5,000</option> <option value="6000">$6,000</option> <option value="7000">$7,000</option> <option value="8000">$8,000</option> <option value="9000">$9,000</option> <option value="10000">$10,000</option> <option value="11000">$11,000</option> <option value="12000">$12,000</option> <option value="13000">$13,000</option> <option value="14000">$14,000</option> <option value="15000">$15,000</option> <option value="16000">$16,000</option> <option value="17000">$17,000</option> <option value="18000">$18,000</option> <option value="19000">$19,000</option> <option value="20000">$20,000</option> </select> </td> <td> <label for=min_beds>Min Beds</label> <select name="Min Beds"> <option value="0">-</option> <option value="0">Studio</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </td> <td> <label for=max_beds>Max Beds</label> <select name="Max Beds"> <option value="50">-</option> <option value="0">Studio</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </td> <td> </td> </tr> <tr><td><br> <label for=neighborhood>Neighborhood</label> <br> <select name="Neighborhood" multiple="yes"> <option value="5">Allston</option> <option value="759">Arlington</option> <option value="12">Back Bay</option> <option value="2562">Sullivan Square</option> <option value="1138">Teele Square</option> <option value="33">Theatre District</option> <option value="794">Waltham</option> <option value="2563">Washington Square</option> <option value="1142">West Somerville</option> <option value="1136">Winter Hill</option> </select> </td> <td> <label for=min_baths>Baths</label> <br> <select name="Baths" style="width:100px;"> <option value="0">-</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </td> <td> <label for=pets>Pets</label> <br> <select name="Pets" style="width:100px;"> <option value="*">-</option> <option value="cats">Cats</option> <option value="dogs">Dogs</option> <option value="both">Cats and Dogs</option> </select> </td> <td> <label for=min_date_available>Earliest Move Date</label> <select name="Earliest Date Available" multiple="yes"> <option value="*">Any</option> <option value="1970-01-01">Any Past Date</option> <option value="2011-02-01">February 1, 2011</option> <option value="2011-02-15">February 15, 2011</option> <option value="2011-03-01">March 1, 2011</option> <option value="2011-03-15">March 15, 2011</option> <option value="2011-04-01">April 1, 2011</option> <option value="2011-04-15">April 15, 2011</option> <option value="2011-05-01">May 1, 2011</option> <option value="2012-09-01">September 1, 2012</option> <option value="2012-09-15">September 15, 2012</option> <option value="2012-10-01">October 1, 2012</option> <option value="2012-10-15">October 15, 2012</option> <option value="2012-11-01">November 1, 2012</option> <option value="2012-11-15">November 15, 2012</option> <option value="2012-12-01">December 1, 2012</option> <option value="2012-12-15">December 15, 2012</option> </select> </td> <td> <label for=max_date_available>Latest Move Date</label> <select name="Latest Date Available" multiple="yes"> <option value="*">Any</option> <option value="1970-01-01">Any Past Date</option> <option value="2011-02-01">February 1, 2011</option> <option value="2012-11-01">November 1, 2012</option> <option value="2012-11-15">November 15, 2012</option> <option value="2012-12-01">December 1, 2012</option> <option value="2012-12-15">December 15, 2012</option> </select> </td> </tr> <tr> <td> <input type="submit" value="submit" name="submit"><br /> </td> </tr> </table> </form> <? } else { $result = unserialize(file_get_contents('http://api.rentjuice.com/{api key}/listings.php?min_beds='.minbeds.'&max_beds='.$maxbeds.'&has_photos=1&pets='.$pets.'')); foreach ($result['listings'] as $listing) { if (isset($listing['photos'][0]['thumbnail'])) echo '<img src="'.$listing['photos'][0]['thumbnail'].'"><br>'; echo $listing['title']; echo '<hr>'; } }?> </div> <?php get_footer(); ?>
- The topic ‘PHP & REST API Integration, Cant Get page to load properly’ is closed to new replies.