2017-08-24 69 views
0

我想为我的网站做一个商店,所以我需要MySQL。 我想从用户那里拿走50金币,并给予5点金币。 我的当前脚本如下所示:需要MySQL数据库的PHP脚本

<?php 
ob_start(); 
session_start(); 
print('<meta http-equiv="content-type" content="text/html; charset=UTF-8" 
/>'); 
include('config.php'); 

if(isset($_SESSION['rank']) && $_SESSION['rank'] >= 1) 
{ 
    if(isset($_SESSION['Gold']) && $_SESSION['Gold'] >= 50) 
    { 
mysql_query("UPDATE users SET Gold = $_SESSION[Gold]-50 WHERE id = 
$_SESSION[id];"); 
mysql_query("UPDATE users SET AtkDmg = $_SESSION[AtkDmg] + 5' WHERE id = 
$_SESSION[id];"); 
    } else header('location: shop.php'); 
} else header('location: login.php'); 
mysql_close() 
?> 

什么是会话?这就是:

<?php 
ob_start(); 
session_start(); 

include('config.php'); 
include('login_form.php'); 

    if(isset($_POST["login"])){ 

    $nickname = $_POST["nickname"]; 
    $password = md5($_POST["password"]); 
    $lekerdezes = mysql_query("SELECT * FROM users WHERE nickname = 
'".mysql_real_escape_string($nickname)."' AND password = '$password'"); 
    $vanelekerdezes = mysql_num_rows($lekerdezes); 
    if ($vanelekerdezes>0) 
    { 
     header('location: login.php'); 
     $adatok=mysql_fetch_assoc($lekerdezes); 
     $_SESSION["id"]=$adatok["id"]; 
     $_SESSION['bann'] = 0; 
     $_SESSION["nickname"]=$adatok["nickname"]; 
     $_SESSION["rank"]=$adatok["rank"];  
     $_SESSION["Gold"]=$adatok["Gold"]; 
     $_SESSION["AtkDmg"]=$adatok["AtkDmg"]; 
    } 
    else 
    { 
    print 'Hibás felhasználónév vagy jelszó!'; 
    print mysql_error(); 
    } 



    } else if(isset($_SESSION["nickname"])){ 


    header('location: home.php'); 
    } 



?> 

我希望你能帮助我,我还在学习PHP的,所以也许这就是为什么我不能修复这个简单的事......所以,如果你这样写:学习PHP的,我“M已经这样做:)

+0

的sooo ...这是什么问题?你有什么错误吗?也许可以快速浏览[如何提出问题](https://stackoverflow.com/help/how-to-ask)? – Naruto

+0

它没有做任何事情,我得到一个空白页面,抱歉的问题不好。 – hunzeno

+1

'mysql_ *'api已弃用尝试使用'mysqli_ *或pdo' – JYoThI

回答

0

一是调整会话VAR:

$gold = $_SESSION['Gold'] = $_SESSION['Gold'] - 50; 
$attackDamage = $_SESSION['AtkDmg'] = $_SESSION['AtkDmg'] + 5; 

编辑您的SQL字符串是这样的:

"UPDATE users SET AtkDmg = $attackDamage etc etc 
+0

它将我的黄金和atkdmg设置为0. – hunzeno

+0

ok我已经编辑过,试试这个 – delboy1978uk

+0

完美的作品,太好了,你是最棒的! – hunzeno

相关问题