这让我很困惑..我现在很头疼!我已经学习 php 一个月了,这是我 4 周前希望努力学习的东西 s:
我收到警告 Undefined index 并且数据库正在更新日期 0000-00-00 然后另一列中没有任何内容,我将查询转换为回显以查看发生了什么但似乎没有分配任何内容到从表单发送的变量!
代码: (简化)
日历.php
<form name="slots" action="updatecalender.php" method="post">
Day: <input type="text" name="dayofmonth" />
<select name="month">
<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>
<select name="year">
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
</select><br /><br />
Slots Available:
<input type="text" name="noslots" /><br />
<input type="submit" value=" - Go - " />
</form>
updatecalender.php
<?php
//connect to database
require "dbconn.php";
$dayofmonth = $_GET['dayofmonth'];
$month = $_GET['month'];
$year = $_GET['year'];
$noslots = $_GET['noslots'];
$query = INSERT INTO calender VALUES ('".$year."-".$month."-".$dayofmonth."','".$noslots."')";
$results = mysql_query($query)
or die(mysql_error());
header('Location:calender.php');
?>
我是一个初学者,所以我不会让它变得安全......只是让它工作!
非常感谢您的任何建议和帮助!
最佳答案
首先在您的 php 代码中使用 $_POST 即:
$dayofmonth = $_POST['dayofmonth'];
$month = $_POST['month'];
$year = $_POST['year'];
$noslots = $_POST['noslots'];
另外,考虑学习 PDO
。您的代码并不安全。 PDO
将帮助清理您的输入并帮助防止诸如 SQL 注入(inject)之类的事情
关于php - HTML 表单 - 不会使用 PHP 更新 Mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877586/