Triiistan
Contributor
Hey guys, I have been working on a reminder system in PHP and I am having some trouble with Unix Time. I am using the function mktime(), however, the hour always seems to be off by one. If I enter 3:30 PM, it will give me 4:30 PM. Also, it is not done yet, I am currently echo'ing out the unix time variable $datetime to see if everything matches up before I continue. Any idea on how I can fix this?
reminder.php
reminder.php
PHP:
<?php
require 'connect.inc.php';
$firstname = getuserfield('firstname');
$lastname = getuserfield('lastname');
$email = getuserfield('email');
echo 'You\'re logged in, '.$firstname.' '.$lastname.'. <a href="logout.php">Log out</a> <a href="settings.php">Settings</a>';
if(isset($_POST['month']) && isset($_POST['day']) && isset($_POST['year']) && isset($_POST['hour']) && isset($_POST['minute']) && isset($_POST['is_pm']) && isset($_POST['subject']) && isset($_POST['message'])){
$month = $_POST['month'];
$day = $_POST['day'];
$year = $_POST['year'];
$hour = $_POST['hour'];
$minute = $_POST['minute'];
$is_pm = $_POST['is_pm'];
$subject = $_POST['subject'];
$message = $_POST['message'];
if($is_pm==1){
$hour += 12;
}
$datetime = mktime($hour, $minute, 0, $month, $day, $year);
echo $datetime;
if(strlen($day)>2 || strlen($hour)>2 || strlen($minute)>2 || strlen($subject)>90 || strlen($message)>140){
echo 'Please adhere to the max length of fields.';
} else {
echo 'ok.';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Reminder System</title>
</head>
<body>
<h1>Set Reminder</h1>
<form action="#" method="POST">
Date:<br><select name="month" autofocus required>
<option value="" style="display:none;"></option>;
<option value="1">January</option>
<option value="2">February</option>
<option value="3" >March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type="text" name="day" size="2" maxlength="2" required>,
<select name="year" required>
<option value="" style="display:none;"></option>
<option value=2013>2013
<option value=2014>2014
<option value=2015>2015
<option value=2016>2016
<option value=2017>2017
<option value=2018>2018
<option value=2019>2019
<option value=2020>2020
<option value=2021>2021
<option value=2022>2022
<option value=2023>2023
<option value=2024>2024
<option value=2025>2025
<option value=2026>2026
<option value=2027>2027
<option value=2028>2028
<option value=2029>2029
<option value=2030>2030
<option value=2031>2031
<option value=2032>2032
<option value=2033>2033
<option value=2034>2034
<option value=2035>2035
<option value=2036>2036
<option value=2037>2037
<option value=2038>2038
</select><br><br>
Time:<br><input type="text" name="hour" size="2" maxlength="2" required>:<input type="text" name="minute" size="2" maxlength="2" required>
<select name="is_pm" size="1" required>
<option value="" style="display:none;"></option>
<option value="0">AM
<option value="1">PM
</select><br><br>
Subject:<br><input type="text" name="subject" maxlength="90" required><br><br>
Message:<br><textarea rows="4" cols="30" name="message" maxlength="140" required></textarea><br><br>
<input type="submit" style="width:265px; height:70px;" value="Save">
</form>
</body>
</html>