Php 如何在“提交”按钮单击时将条目保存到数据库中
我有这样的代码Php 如何在“提交”按钮单击时将条目保存到数据库中,php,mysql,http-post,Php,Mysql,Http Post,我有这样的代码 <?php if ( $thismemberinfo[msurf] >= $msurfclicks ) { $sql=$Db1->query("INSERT INTO d_bonus VALUES('$userid','0.02',NOW())"); echo "success"; } else { echo "wrong"; } ?> <form action="" method="post" name="myform"&
<?php
if ( $thismemberinfo[msurf] >= $msurfclicks ) {
$sql=$Db1->query("INSERT INTO d_bonus VALUES('$userid','0.02',NOW())");
echo "success";
} else {
echo "wrong";
}
?>
<form action="" method="post" name="myform">
<input type="hidden" value="123" name="match">
<input type="submit" value="Claim your daily bonus $o.o2" name="submit1">
</form>
您可以使用isset
检查按钮是否被单击
if(isset($_REQUEST['submit1']))
{
if ( $thismemberinfo[msurf] >= $msurfclicks ) {
$sql=$Db1->query("INSERT INTO d_bonus VALUES('$userid','0.02',NOW())");
echo "success";
}
else
{
echo "wrong";
}
header("location:".$_SERVER['PHP_SELF']);
}
您的代码缺少一些内容
要向数据库中插入条目,您应该更多地考虑需要执行哪些任务,我会给您一个列表,您可能已经完成了其中的一些任务
1) 连接到数据库。
2) 获取表单中输入的值,并将其存储在局部变量中,在您的情况下,您已在表单上使用POST,因此。。下面是一个例子:
$Field1 = mysql_real_escape_string($_POST['match']); // match?? This post data comes from the name field of your form.
3) 创建您的查询。。。e、 g
$sql = "INSERT INTO table_name (table_heading) VALUES ('$Field1')";
4) 运行查询您需要检查请求是否来自post submit,即其他人指出的检查
$\u post['submit']
if(isset( $_POST['submit'] ) {
// your complete rest php code goes here to insert the record
}
在页面刷新时,它会看到请求不是提交的post请求,因此不会在if中执行php代码,只会显示页面。检查$\u post['submit'],其工作原理如下:php构建页面,并将页面发送给客户端。之后,如果客户选择,客户将提交表格。表单POST的数据(可通过
$\u POST
访问)发送到服务器,服务器将生成另一个PHP请求。在该请求中,您需要检查$\u POST
值,然后在服务器端执行您想要的任何操作。注意,在$\u POST
之后,服务器应该向客户端发送另一个响应。您应该在表单上更新您的操作,action=“YourPage.php”,尽管它可能工作得很好,但建议您最好填写它。它工作得很好,但有一部分是可行的。在刷新页面时,它还运行php代码。这就是我的问题所在。。我只想在点击按钮时运行代码。感谢您的进一步建议。我已经编辑了代码,您可以使用此代码检查它是否正常工作,或者not@pateik .. 它部分起作用。。它在单击按钮后运行查询。现在,当我刷新页面时,它会再次运行查询。i、 e.单击一次后,如果有人引用该页面,它将继续运行查询。这是我无法很好地处理的问题..此代码对我部分有效,,,我已应用了一些额外的检查以保持其工作。尝试重定向页面,就像我在上面的代码中所做的那样,我想你没有理解我的问题。没有任何东西是来自形式的,形式之外的一切。。并设置。。我只想在提交按钮点击时运行查询..不,我知道了,你的问题是你没有获取表单提交的数据,它被发送出去了,只是你没有对它做任何事情,如果你看到我答案的第2部分,一个很好的简单方法是获取变量中的数据,我会在2秒钟内更新我的第2部分,以获取您需要的字段。我已经更新了代码,请检查并指导我代码中的错误。少了什么??
if(isset( $_POST['submit'] ) {
// your complete rest php code goes here to insert the record
}