如何使用 PHP 存储选定的日期选择器 javascript
How to store selected datepicker javascript using PHP
我非常需要帮助来完成我的任务。
当我选择诸如 2015-05-08 之类的日期时,它存储为 1970-01-01。
我已经尝试了我找到的所有解决方案,但仍然无法正常工作。
下面是我的代码。希望你们能帮忙。欣赏一下。
PHP 个文件
<div id = "wrapper">
<div id = "Page1">
<div class="title">
<h3>Check-in / Check-out Date</h3></div>
<div class = "container">
<div style="padding: 10px 50px 0 20px; ">
<table align="center" class="bookingForm" style="color: #000;">
<tr>
<td>Check-in date:</td>
<td><input id="cid" type="text" name="cid" onchange="checkNight()"></td>
</tr>
<tr>
<td>Check-out date:</td>
<td><input id="cod" type="text" name="cod" onchange="checkNight()"></td>
</tr>
<tr>
<td>No. of night:</td>
<td><input id="night" type="text" value="0" name="night"></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Next" name="nextButton" id="nextButton" class="nextButton" onclick="next()" >
<input type="hidden" id="noRoom" style="display:none;" value="1">
</td>
</tr>
Javascript代码
$(document).ready(function() {
$("#cid").datepicker({
dateFormat: "yy-mm-dd",
minDate: 0,
onSelect: function(date) {
var date2 = $('#cid').datepicker('getDate');
date2.setDate(date2.getDate() + 1);
//sets minDate to dt1 date + 1
$('#cod').datepicker('option', 'minDate', date2);
checkNight();
}
});
$('#cod').datepicker({
dateFormat: "yy-mm-dd",
onClose: function() {
var dt1 = $('#cid').datepicker('getDate');
var dt2 = $('#cod').datepicker('getDate');
//check to prevent a user from entering a date below date of dt1
if (dt2 <= dt1) {
var minDate = $('#cod').datepicker('option', 'minDate');
$('#cod').datepicker('setDate', minDate);
checkNight();
}
}
});
});
function checkNight() {
var dateGet = new Date;
var dateGet2 = new Date;
dateGet = $('#cid').datepicker("getDate");
dateGet2 = $('#cod').datepicker("getDate");
if ($('#cid').val() != "" && $('#cod').val() != "") {
var diffDay = Math.abs(dateGet2 - dateGet);
diffDay = diffDay / 86400000;
if(diffDay<0){
}else{
document.getElementById('night').value = diffDay;
}
}
}
function next(){
var cid = $("#cid").val();
var cod = $("#cod").val();
var night = $("#night").val();
//if cid and cod are empty
if(cid == "" || cod == ""){
alert('Please key in the required field');
}
//redirect to next page if fuifil requirement
else{
window.location="http://localhost/reserve/app/room.php";
}
}
存储日期代码
<?php
$cid = $_POST['cid'];
$cidDate = date('Ymd', strtotime($cid));
$cod = $_POST['cod'];
$codDate = date('Ymd', strtotime($cod));
$night = $_POST['night'];
$sql = ("INSERT INTO `check`(`cid`, `cod`, `night`) VALUES ('$cidDate','$codDate','$night')");
?>
?>
这不是正确的做法。
您应该在 html.
中使用表单
之后,您可以选择是否要通过表单的 action 属性发送变量
(例如:“<form action="page.php" method="php">
)
或者您可以直接在 jquery
中执行此操作
(例如:$('.nextButton).on("click", function(){<br>
$.post( "page.php", { param1: "<Value1>", param2: "Value2" } );<br>
});
几天前我已经解决了这个问题。
下面是我使用 POST 形式存储值的代码
以及我使用的日期 preg_replace
<?php
error_reporting(0);// Turn off all error reporting
include('reserveDB.php');//pass the reserveDB.php
if(!isset($_POST['dateButton'])) {
?>
<body>
<div id ="header">
<img src="../images/welcome.jpg" alt="image" width="100%" height="50%">
</div>
<div id = "wrapper">
<div id = "Page1">
<div class="title">
<h3>Check-in / Check-out Date</h3></div>
<div class = "container">
<div style="padding: 10px 50px 0 20px; ">
<div id = "dateTable">
<form name="dateCheck" method="post">
<table cellpadding="10">
<tr>
<td style="vertical-align: middle; text-align: left"><div align="center"><a>Check-in date:</a></div></td>
<td style="text-align: center"><div align="center">
<input type="textbox" id="cid" name="cid" onchange="summary()" style="width: 220px; text-align:center;" placeholder="Check-in"/>
</div></td>
<td style="text-align: center"> <div align="center"><a>Check-out date:</a></div></td>
<td style="text-align: center"><div align="center">
<input type="textbox" id="cod" name="cod" onchange="summary()" style="width: 220px; text-align:center;" placeholder="Check-out" />
</div></td>
<td style="text-align: center"><div align="center"><a>Number of night:</a></div></td>
<td style="text-align: center"><div align="center">
<input type="textbox" id="noOfDay" name="noOfDay" value="1" style="width: 40px; text-align:center;" readonly/>
</div></td>
<td style="text-align: center"><div align="center">
<input type="submit" name="dateButton" class="dateButton" value="Next"/>
</div></td>
</tr>
</table>
</form>
</div>
<div id="reservationSummary">
<h3 align="center">SUMMARY</h3>
<div class="line" style="padding-top: 5px;"></div>
<div align="center">
<table id="reservationInfo" >
<tr>
<td><a><b>Check-in Date:</b></a></td>
<td style="width:100px;">
<div id="summaryCID" name = "summaryCID" class="summaryCID" style="text-align:right;"></div>
</td>
</tr>
<tr>
<td><a><b>Check-Out Date:</b></a></td>
<td style="width:100px;">
<div id="summaryCOD" name = "summaryCOD" class="summaryCOD" style="text-align:right;"></div>
</td>
</tr>
<tr>
<td><a><b>Night(s):</b></a></td>
<td style="width:100px;">
<div id="summaryDay" name="summaryDay" class="summaryDay" style="text-align:right;"></div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<?php
}
else{
$cid = preg_replace("#(\d{2})/(\d{2})/(\d{4})#", "--", $_POST['cid']);
$cid = mysql_real_escape_string($cid);
$cod = preg_replace("#(\d{2})/(\d{2})/(\d{4})#", "--", $_POST['cod']);
$cod = mysql_real_escape_string($cod);
$night = $_POST['noOfDay'];
if(($_POST['cid']=='') || ($_POST['cod'])==''){
echo 'Please fill in the date<br><a href = "check.php">Back To Check Page</a>';
}
else{
mysql_query("INSERT INTO `checkdate`(`cid`, `cod`, `noOfDay`) VALUES ('$cid','$cod',$night)");
Header("Refresh: 1; url = room.php?cid=".$cid."&cod=".$cod."&night=".$night."");
}
}
?>
我非常需要帮助来完成我的任务。 当我选择诸如 2015-05-08 之类的日期时,它存储为 1970-01-01。 我已经尝试了我找到的所有解决方案,但仍然无法正常工作。
下面是我的代码。希望你们能帮忙。欣赏一下。
PHP 个文件
<div id = "wrapper">
<div id = "Page1">
<div class="title">
<h3>Check-in / Check-out Date</h3></div>
<div class = "container">
<div style="padding: 10px 50px 0 20px; ">
<table align="center" class="bookingForm" style="color: #000;">
<tr>
<td>Check-in date:</td>
<td><input id="cid" type="text" name="cid" onchange="checkNight()"></td>
</tr>
<tr>
<td>Check-out date:</td>
<td><input id="cod" type="text" name="cod" onchange="checkNight()"></td>
</tr>
<tr>
<td>No. of night:</td>
<td><input id="night" type="text" value="0" name="night"></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Next" name="nextButton" id="nextButton" class="nextButton" onclick="next()" >
<input type="hidden" id="noRoom" style="display:none;" value="1">
</td>
</tr>
Javascript代码
$(document).ready(function() {
$("#cid").datepicker({
dateFormat: "yy-mm-dd",
minDate: 0,
onSelect: function(date) {
var date2 = $('#cid').datepicker('getDate');
date2.setDate(date2.getDate() + 1);
//sets minDate to dt1 date + 1
$('#cod').datepicker('option', 'minDate', date2);
checkNight();
}
});
$('#cod').datepicker({
dateFormat: "yy-mm-dd",
onClose: function() {
var dt1 = $('#cid').datepicker('getDate');
var dt2 = $('#cod').datepicker('getDate');
//check to prevent a user from entering a date below date of dt1
if (dt2 <= dt1) {
var minDate = $('#cod').datepicker('option', 'minDate');
$('#cod').datepicker('setDate', minDate);
checkNight();
}
}
});
});
function checkNight() {
var dateGet = new Date;
var dateGet2 = new Date;
dateGet = $('#cid').datepicker("getDate");
dateGet2 = $('#cod').datepicker("getDate");
if ($('#cid').val() != "" && $('#cod').val() != "") {
var diffDay = Math.abs(dateGet2 - dateGet);
diffDay = diffDay / 86400000;
if(diffDay<0){
}else{
document.getElementById('night').value = diffDay;
}
}
}
function next(){
var cid = $("#cid").val();
var cod = $("#cod").val();
var night = $("#night").val();
//if cid and cod are empty
if(cid == "" || cod == ""){
alert('Please key in the required field');
}
//redirect to next page if fuifil requirement
else{
window.location="http://localhost/reserve/app/room.php";
}
}
存储日期代码
<?php
$cid = $_POST['cid'];
$cidDate = date('Ymd', strtotime($cid));
$cod = $_POST['cod'];
$codDate = date('Ymd', strtotime($cod));
$night = $_POST['night'];
$sql = ("INSERT INTO `check`(`cid`, `cod`, `night`) VALUES ('$cidDate','$codDate','$night')");
?> ?>
这不是正确的做法。
您应该在 html.
中使用表单
之后,您可以选择是否要通过表单的 action 属性发送变量
(例如:“<form action="page.php" method="php">
)
或者您可以直接在 jquery
中执行此操作
(例如:$('.nextButton).on("click", function(){<br>
$.post( "page.php", { param1: "<Value1>", param2: "Value2" } );<br>
});
几天前我已经解决了这个问题。 下面是我使用 POST 形式存储值的代码 以及我使用的日期 preg_replace
<?php
error_reporting(0);// Turn off all error reporting
include('reserveDB.php');//pass the reserveDB.php
if(!isset($_POST['dateButton'])) {
?>
<body>
<div id ="header">
<img src="../images/welcome.jpg" alt="image" width="100%" height="50%">
</div>
<div id = "wrapper">
<div id = "Page1">
<div class="title">
<h3>Check-in / Check-out Date</h3></div>
<div class = "container">
<div style="padding: 10px 50px 0 20px; ">
<div id = "dateTable">
<form name="dateCheck" method="post">
<table cellpadding="10">
<tr>
<td style="vertical-align: middle; text-align: left"><div align="center"><a>Check-in date:</a></div></td>
<td style="text-align: center"><div align="center">
<input type="textbox" id="cid" name="cid" onchange="summary()" style="width: 220px; text-align:center;" placeholder="Check-in"/>
</div></td>
<td style="text-align: center"> <div align="center"><a>Check-out date:</a></div></td>
<td style="text-align: center"><div align="center">
<input type="textbox" id="cod" name="cod" onchange="summary()" style="width: 220px; text-align:center;" placeholder="Check-out" />
</div></td>
<td style="text-align: center"><div align="center"><a>Number of night:</a></div></td>
<td style="text-align: center"><div align="center">
<input type="textbox" id="noOfDay" name="noOfDay" value="1" style="width: 40px; text-align:center;" readonly/>
</div></td>
<td style="text-align: center"><div align="center">
<input type="submit" name="dateButton" class="dateButton" value="Next"/>
</div></td>
</tr>
</table>
</form>
</div>
<div id="reservationSummary">
<h3 align="center">SUMMARY</h3>
<div class="line" style="padding-top: 5px;"></div>
<div align="center">
<table id="reservationInfo" >
<tr>
<td><a><b>Check-in Date:</b></a></td>
<td style="width:100px;">
<div id="summaryCID" name = "summaryCID" class="summaryCID" style="text-align:right;"></div>
</td>
</tr>
<tr>
<td><a><b>Check-Out Date:</b></a></td>
<td style="width:100px;">
<div id="summaryCOD" name = "summaryCOD" class="summaryCOD" style="text-align:right;"></div>
</td>
</tr>
<tr>
<td><a><b>Night(s):</b></a></td>
<td style="width:100px;">
<div id="summaryDay" name="summaryDay" class="summaryDay" style="text-align:right;"></div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<?php
}
else{
$cid = preg_replace("#(\d{2})/(\d{2})/(\d{4})#", "--", $_POST['cid']);
$cid = mysql_real_escape_string($cid);
$cod = preg_replace("#(\d{2})/(\d{2})/(\d{4})#", "--", $_POST['cod']);
$cod = mysql_real_escape_string($cod);
$night = $_POST['noOfDay'];
if(($_POST['cid']=='') || ($_POST['cod'])==''){
echo 'Please fill in the date<br><a href = "check.php">Back To Check Page</a>';
}
else{
mysql_query("INSERT INTO `checkdate`(`cid`, `cod`, `noOfDay`) VALUES ('$cid','$cod',$night)");
Header("Refresh: 1; url = room.php?cid=".$cid."&cod=".$cod."&night=".$night."");
}
}
?>