html/php预设日期文本字段
我有一个html表单,有两个日期文本字段区域和两个按钮,根据日期间隔向用户提供不同的报告。刚开始还可以,但我把今天的时间设置为文本字段,这太疯狂了。我将日期分配给会话,以便其他report.php文件在那里查询SQL。我知道这太容易了,但我看不出这里到底出了什么问题。它不能给出正确的结果 我的索引页表单如下所示:html/php预设日期文本字段,php,html,Php,Html,我有一个html表单,有两个日期文本字段区域和两个按钮,根据日期间隔向用户提供不同的报告。刚开始还可以,但我把今天的时间设置为文本字段,这太疯狂了。我将日期分配给会话,以便其他report.php文件在那里查询SQL。我知道这太容易了,但我看不出这里到底出了什么问题。它不能给出正确的结果 我的索引页表单如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1254">
<?
include "head.inc";
include("lib/config.php");
include("lib/oracle.php");
include("lib/smarty/Smarty.class.php");
include("lib/tcpdf/tcpdf.php");
?>
<?php
$db=new OracleDB();
$d1=date('d/m/Y');
$d2=date('d/m/Y');
?>
<title>Reports</title>
</head>
<script type="text/javascript">
$(document).ready(function() {
$("#DATE1").datepicker();
$("#DATE2").datepicker();
});
function Report()
{
if($('#DATE1').val()=='' || $('#DATE2').val()=='')
{
alert('Fill the dates');
return false;
}
else
{
window.open('report2.php');
}
}
function Report_Group()
{
if($('#GIR_TAR').val()=='' || $('#BIT_TAR').val()=='')
{
alert('Fill the dates');
return false;
}
else
{
window.open('report1.php');
}
}
</script>
<body>
<form name="FORM" action="report_index.php" method="post">
<table class="bordered" align="center">
<tr><th colspan="4" align="center"><b>Reports</b></th></tr>
<tr>
<td>date1:</td><td><input name="DATE1" id="DATE1" type="text" value="<?echo $d1;?>" /></td><td>date2:</td><td colspan="2"><input name="DATE2" id="DATE2" type="text" value="<?echo $d2;?>" /></td>
</tr>
<tr>
<th align="right" colspan="2" ><input type="submit" name="REPORT1" id="REPORT1" value="" class="INPUT_BUTTON" onclick="return Report_Group();"/></th><th colspan="3"><input type="submit" name="REPORT2" id="REPORT2" value="" class="INPUT_BUTTON" onClick="return Report();"/></th>
</tr>
</table></form>
</body>
</html>
<?php
$db=new OracleDB();
session_start();
if (isset($_POST["REPORT1"])||isset($_POST["REPORT2"]))
{
$_SESSION["DATE1"]=$_POST["DATE1"];
$_SESSION["DATE2"]=$_POST["DATE2"];
}
?>
报告
$(文档).ready(函数(){
$(“#DATE1”).datepicker();
$(“#DATE2”).datepicker();
});
功能报告()
{
如果($('#DATE1').val()=''|$('#DATE2').val()='')
{
警报(“填写日期”);
返回false;
}
其他的
{
open('report2.php');
}
}
功能报告\u组()
{
if($('GIR_TAR').val()=''''.'BIT_TAR').val()='')
{
警报(“填写日期”);
返回false;
}
其他的
{
open('report1.php');
}
}
报告
date1:既然您要将表单发布到“report\u index.php”,您应该将实际保存日期的代码块移动到那里的$\u SESSION
。即移动该部分:
<?php
$db=new OracleDB();
session_start();
if (isset($_POST["REPORT1"]) || isset($_POST["REPORT2"])) {
$_SESSION["DATE1"] = $_POST["DATE1"];
$_SESSION["DATE2"] = $_POST["DATE2"];
}
?>
从'index.php'到'report_index.php'
您的新“report_index.php”可能如下所示:
<?php
session_start();
$ret=false;
if (isset($_POST["REPORT1"]) || isset($_POST["REPORT2"])) {
$_SESSION["DATE1"] = $_POST["DATE1"];
$_SESSION["DATE2"] = $_POST["DATE2"];
}
include("../lib/config.php");
include("../lib/oracle.php");
include("../lib/smarty/Smarty.class.php");
include("../lib/tcpdf/tcpdf.php");
function Rapor_View($Title,$FileName) { ... }
function Rapor_Pdf($Baslik,$FileName,$Html,$Page="A4",$Land="P") { ... }
$db = new OracleDB();
$DATE1 = $_SESSION["DATE1"];
$DATE2 = $_SESSION["DATE2"];
...
“它疯了”不是有效的错误消息。怎么了?首先将您的doctype更改为“在索引页上选择日期时”,它不会将选择的日期传递给会话;就在课程开始之前。它给了你什么?它给了Report1的值。这是页面上两个按钮中的一个。我找到了问题所在。这是javascript代码。。我试图用window.open()打开新页面,所以下面的php代码(会话部分)无法正常工作。无论如何。谢谢你的时间!非常感谢!
<?php
session_start();
$ret=false;
if (isset($_POST["REPORT1"]) || isset($_POST["REPORT2"])) {
$_SESSION["DATE1"] = $_POST["DATE1"];
$_SESSION["DATE2"] = $_POST["DATE2"];
}
include("../lib/config.php");
include("../lib/oracle.php");
include("../lib/smarty/Smarty.class.php");
include("../lib/tcpdf/tcpdf.php");
function Rapor_View($Title,$FileName) { ... }
function Rapor_Pdf($Baslik,$FileName,$Html,$Page="A4",$Land="P") { ... }
$db = new OracleDB();
$DATE1 = $_SESSION["DATE1"];
$DATE2 = $_SESSION["DATE2"];
...