提交后变量不刷新

时间:2015-11-19 15:06:35

标签: php

我有令牌系统,每次你提交表格时,你的总代币都需要-1。

我使用common.php

$ses_sql="Select * from users where name='testuser' and id='1'";
$result = $conn->query($ses_sql);
$row = $result->fetch_assoc();
$token = $row['tokens'];

因此,在菜单栏旁边,无论您在哪个页面,它都会查看您的总积分,以便您可以看到它。

现在来到表单部分。页面名称adduser.php

<? 
// Included on all pages.
include 'include/common.php';
echo $token; 
?>
<form method="post" action="adduser.php?save=all">
<input type="text" name="username">
</form>
<?
$kalk = $token - 1;
if (isset($_GET['save']) && $_GET['save'] == 'all'{
$sqllog = "UPDATE `reseller` set `tokens`='$kalk' where id='1'";
$check1 = mysqli_query($conn,$sqllog);
}
?>

所有这一切工作,完美。但请记住页面顶部的标注$ token在提交后不会刷新,但进入其他页面或刷新浏览器后值将更新。感谢帮助。

1 个答案:

答案 0 :(得分:2)

旁注编辑:此答案基于OP的原始帖子https://stackoverflow.com/revisions/33807477/1和第二版https://stackoverflow.com/revisions/33807477/2,并在发布后进行了编辑。

好的,我提交了这个,因为我没有在评论中从OP获得任何其他反馈,并指出语法错误。

这行代码:

$sqllog = 'UPDATE `reseller` set `tokens`='$kalk' where id='1'";
          ^ single                                            ^ double

您将使用单引号打开您的对帐单,然后使用双引号将其关闭。

错误检查会抛出语法错误消息。

需要阅读:

$sqllog = "UPDATE `reseller` set `tokens`='$kalk' where id='1'";
// or where id=1 but doubt that would make a difference.

已完成

$check1 = mysqli_query($conn,$sqllog) or die(mysqli_error($conn));

表示语法错误。

  

“$令牌在提交后不会刷新”

那是因为您需要自己刷新页面或使用重定向方法。

在堆栈上看看这个Q&amp; A:

您也可以使用SQL注入。使用准备好的声明。

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:只应在暂存时进行显示错误,而不是生产。

其他调试工具:

并回显您的查询。

  • 还要确保您选择了正确的数据库/表格/列