【发布时间】:2014-02-09 13:16:14
【问题描述】:
我正在尝试使用日历制作应用程序。我想要的是,当用户单击日历的日期时,在数据出现的位置下方有一个输出表单,以及一个 div 标记,我在其中加载 php 页面的结果。在 php 文件中,我要求从数据库上传结果,其中日期与用户选择的日期相同。但是单击日期后它给了我一个错误:
Notice: Undefined index: dataoutput in C:\xampp\htdocs\rai kalendar\insert.php on line 16
我的html文件是:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function(){
g_globalObject = new JsDatePick({
useMode:1,
isStripped:true,
target:"div3_example"
});
g_globalObject.setOnSelectedDelegate(function(){
var obj = g_globalObject.getSelectedDay();
document.getElementById("dataoutput").innerHTML = obj.year + "-" + obj.month + "-" +obj.day;
$('#div3_example_result').load('insert.php');
});
};
</script>
</head>
<body>
<div id="div3_example" style="margin-left: 500px; margin-top: 100px; border:dashed 1px red; width:205px; height:230px;">
</div>
<form id="dataform" method="post" action="insert.php">
<output name="dataoutput" id="dataoutput" type="submit">
</output>
</form>
<div id="div3_example_result" style="height:20px; line-height:20px; margin:10px 0 0 0; border:dashed 1px #666;"></div>
</body>
</html>
php文件的部分是:
<?php
$result = mysql_query("SELECT * FROM Aktiviteti where Data= '$_POST[dataoutput]'");
if(!empty($result))
{
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
echo $row[2]; // the email value
}
else
echo "Empty"
?>
第 16 行是:
$result = mysql_query("SELECT * FROM Aktiviteti where Data= '$_POST[dataoutput]'");
为什么会这样?我可以在输出行中提交表单吗:
<output name="dataoutput" id="dataoutput" type="submit">
请帮帮我?我能做什么?
【问题讨论】:
-
危险:您使用的是an obsolete database API,应该使用modern replacement。您也容易受到SQL injection attacks的影响,现代 API 可以让您更轻松地从 defend 中获得。
标签: javascript php jquery html forms