首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制按日期提交表单

问限制按日期提交表单
EN

Stack Overflow用户
提问于 2014-10-29 16:12:08
回答 2查看 100关注 0票数 2

这是我的代码。基本上,我想根据($result2)中的用户定义来设置表单限制。另一件事是日期。例如:今天可以提交3个表单,然后明天可以提交另一个3个表单,直到用户在$result2上进行更改。这段代码的问题是,它将忽略日期,并保留让用户无限制地提交表单。希望你们能帮忙,谢谢

代码语言:javascript
复制
$name = $_POST['name'];
$address = $_POST['address'];
$contact = $_POST['contact'];
$email = $_POST['email'];
$tbl_name="torder";

$sql="INSERT INTO $tbl_name
(name,address,contact,email,orderdate)
VALUES('$name','$address','$contact','$email',now())";

$tbl2_name="tblfree";

$query="SELECT * FROM tblfree";

$result2=mysql_query($query);

$row = mysql_fetch_array(
           mysql_query("SELECT COUNT(*) AS 'submit' FROM torder"));

if ($row['submit'] > $result2) {
    echo 'We have reached our Free-T limit';}
else {
    $result=mysql_query($sql);
    echo 'success';
}
EN

回答 2

Stack Overflow用户

发布于 2014-10-29 16:21:46

问题是您正在将标量值与mysql_result进行比较,您可以在下面看到发生这种情况的位置

代码语言:javascript
复制
if ($row['submit'] > $result2)

相反,您需要获取$result2的结果并对其进行比较,因此将其修改为以下内容

代码语言:javascript
复制
$result2=mysql_query($query);
$row2 = mysql_fetch_array($result2);
$row = mysql_fetch_array(mysql_query("SELECT COUNT(*) AS 'submit' FROM torder where orderdate = {$current}"));

if ($row['submit'] > $row2['value_you_want_to_compare']) {
    echo 'We have reached our Free-T limit';}
else {
    $result=mysql_query($sql);
    echo 'success';
}

此外,您的代码容易受到SQL注入的攻击,要解决这个问题,请停止使用mysql_*函数,因为它们已被弃用,并开始使用带有预准备语句的mysqli或PDO。

票数 1
EN

Stack Overflow用户

发布于 2014-10-30 12:47:56

代码语言:javascript
复制
$tbl2_name="tblfree";
$query="SELECT amount FROM tblfree where id=1";
$result2=mysql_fetch_array(mysql_query($query));

$row = mysql_fetch_array(mysql_query("SELECT COUNT(*) AS submit FROM torder where orderdate =  CURDATE()"));
if ($row ['submit'] >= $result2['amount']) {
echo 'We have reached our Free-T limit';
echo $result2['amount'];}
else {
$tbl_name="torder";
$sql="INSERT INTO $tbl_name
(name,address,contact,email,orderdate)VALUES('$name','$address','$contact','$email',CURDATE())";
$result=mysql_query($sql);
$sql="INSERT INTO $tbl_name   (name,address,contact,email,orderdate)VALUES('$name','$address','$contact','$email','$orderdate')";
echo 'success';

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26625459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档