Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在“提交”按钮单击时将条目保存到数据库中_Php_Mysql_Http Post - Fatal编程技术网

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
}