将“注册”日期插入MySQL表

时间:2013-08-13 19:32:11

标签: php mysql forms

我有一个注册表单,我正在尝试将表单填写的日期记录到MySQL表中。除日期外,我正在记录表格中要求的所有信息。有人能帮助我完成这项任务吗?

以下是我认为问题所在的PHP代码片段。我也在使用PHPmyadmin作为我的数据库;如果这是相关的。

以下是页面www.3elementsreview.com/sign-up

的链接
    $value = $_POST['First'];
    $value2 = $_POST['Last'];
    $value3 = $_POST['City'];
    $value4 = $_POST['State'];
    $value5 = $_POST['Country'];
    $value6 = $_POST['Email'];
    $value7 = $_POST['Y-m-d H:i:s'];

    $sql = "INSERT INTO members (First, Last, City, State, Country, Email, Date) VALUES     ('$_POST[First]','$_POST[Last]','$_POST[City]','$_POST[State]','$_POST[Country]','$_POST[Email]','$_POST[Date]')";

2 个答案:

答案 0 :(得分:2)

您的代码很危险并且允许SQL注入攻击。

首先关闭mysql_ *库。

其次,如果您要使用mysql_ *函数,请在所有POST字段上使用mysql_real_escape字符串。

第三,这将解决您的问题:

$value = mysql_real_escape_string($_POST['First']);
$value2 = mysql_real_escape_string($_POST['Last']);
$value3 = mysql_real_escape_string($_POST['City']);
$value4 = mysql_real_escape_string($_POST['State']);
$value5 = mysql_real_escape_string($_POST['Country']);
$value6 = mysql_real_escape_string($_POST['Email']);

$sql = "INSERT INTO members (First, Last, City, State, Country, Email, Date) VALUES     ('$value','$value2','$value3','$value4','$value5','$value6',NOW())";

在mysql中,函数NOW()用于返回当前日期/时间。

答案 1 :(得分:0)

除非您的参数被称为Y-m-d%20H:i:s=____,否则您应该收集$_POST['date']变量或其他内容,然后在将其分配给变量后将其转换为日期。

$value7 = $_POST['date'];
$value7 = date('Y-m-d H:i:s', $value7);