所以,我有两个脚本在同一个数据库上运行,但每个脚本都有自己的表(如用户,帖子等),并且它们有点系统。
现在,我想要做的是使点从一个点发送到另一个点。 我已经创建了一个带有名称和点的简单表单,以便填充它,并且当提交时将发送到另一个处理信息的页面,从用户那里取出给定的数量(将检查会话)并将其发送给给定的名称(在其他脚本中注册)。
好的,当它处理时,点被带走(或者如果他们没有足够的积分则给出“不够点”错误),但这些点不会记入另一个账户。 是否有可能解决这个问题?
以下是代码段:
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/points');
$pointst1 = request_var('pointst', 0);
$bsname1 = request_var('bsname', 0);
if ( $user->data['user_points'] < $pointst1 ){
echo "<b>You don't have enough points</b>";
}
else {
remove_points($user->data['user_id'], $pointst1);
mysql_query("UPDATE users SET points = (points + $pointst1) WHERE name = '$bsname'");
echo "<b>Points tranferred!</b>";
};
?>
答案 0 :(得分:0)
一些事情。
首先,我建议您在处理SQL Commits时查看此站点。这将有助于确保您不会从一个用户删除点,并且不将其添加到其他用户。您当前的代码示例中可能会发生这种情况
http://php.net/manual/en/mysqlnd-ms.transaction.php
其次,似乎这部分是将php变量作为文本传递
mysql_query(“UPDATE用户SET points =(points + $ pointst1)WHERE name ='$ bsname'”); echo“转移的点数!”
您可能想将其更改为
mysql_query("UPDATE users SET points = (points + {$pointst1} ) WHERE name = {$bsname}");
echo "<b>Points tranferred!</b>"
我不是PHP程序员,所以你可以在这里查看我的逻辑: http://php.net/manual/en/language.operators.string.php
希望有所帮助