Kyo Yamagata
Kyo Yamagata

Reputation: 25

$_POST variable not passing properly

So, I have 3 different web-pages that to passes variable to the next web-page.

session_start();
$_SESSION['transdate'] = $date_name;

Next page:

echo $_SESSION['transdate'];

Yes, I know session can be used to achieve the similar functionality. But, after trying the code above it says "Undefined variable: _SESSION". Yet, I made sure it has a proper name.

So now I'm trying through $_POST, it's not showing undefined variable. But, it's not showing any results.

First form:

$datePicker .= "<input class='datepicker' type='text' name='datepicker'>";

The variable in the second form which was fetched from the first one is completely working.

Second form:

PHP:

$date_name $_POST['datepicker'];
$date = $_POST['datepicker'];
$date = date('Y-m-d: H:i:s', strtotime($date));

HTML:

<form action="inquiry.php" method="post">
    <input name="schedule" type="hidden" value="<?php echo $schedule; ?>"
    />
    <label><font color="red">*</font> Number of Kids:</label>
    <input name="kid" style="height:30px;"
    type="text" class="input-small" placeholder="Example: 1234567" pattern="[0-9]{1,11}"
    required />
    <label><font color="red">*</font> Number of Adults:</label>
    <input name="adult"
    style="height:30px;" type="text" class="input-small" placeholder="Example: 1234567"
    pattern="[0-9]{1,11}" required />
    <label><font color="red">*</font> Number of Rooms:</label>
    <input name="transdate"
    type="hidden" value="<?php echo $date_name; ?>" />
    <select name="number_room">
        <?php echo $availableRooms; ?>
    </select>
    <label><font color="red">*</font> Number of Cottages:</label>
    <select name="number_cottages">
        <?php echo $availableCottages; ?>
    </select>
    <br />
    <button type="submit" class="btn btn-success" style="text-align:center; margin-left: 0px; ">Save Changes</button>
</form>

While here the results are not showing.

Third Form

$date = $_POST['transdate'];
$date = date('Y-m-d: H:i:s', strtotime($date));

EDIT: Link to screenshot

Upvotes: 0

Views: 191

Answers (1)

Terry Harvey
Terry Harvey

Reputation: 840

You need to call session_start() on every page.

First page:

session_start();

$date_name = 'whatever';

$_SESSION['transdate'] = $date_name;


Second page:

session_start();

echo $_SESSION['transdate'];

Upvotes: 2

Related Questions