• 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.