2016-03-13 2 views
1

Например, когда пользователь является логином, после входа в систему я хочу автоматически обновлять определенную строку от этого фактического пользователя. Как я могу это сделать? Ну, когда пользователь является логином, я хочу обновить строки, я хочу добавить к нему несколько пунктов, например 5 баллов. меня попробовать несколько примеров, но это просто добавить другую строку, но не для этого конкретного пользователяКак автоматическое обновление определенной строки от существующего пользователя, зарегистрированного в

<?php 
 
    session_start(); 
 
    include_once 'dbconnect.php'; 
 

 
    if(!isset($_SESSION['user'])){ 
 
\t header("Location: index.php"); 
 
    } 
 

 
    $res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']); 
 
    $userRow=mysql_fetch_array($res); 
 
    // Retrieve data from database 
 
    $sql="SELECT * FROM users ORDER BY user_points DESC LIMIT 10"; 
 
    $result=mysql_query($sql); 
 
    $sql = mysql_query("INSERT INTO `users` (`user_points`) VALUES ('5');"); 
 
    // Start looping rows in mysql database. 
 

 

 
    print "Top 10 Users! "; 
 
    while($rows=mysql_fetch_array($result)){ 
 
    echo $rows['user_name'] . " * " . $rows['user_points'] . " * "; 
 

 
    // close while loop 
 
    } 
 

 
    // close MySQL connection 
 
    mysql_close(); 
 

 

 
    $page = $_SERVER['PHP_SELF']; 
 
    $sec = "30"; 
 

 
?> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'"> 
 
<link rel="stylesheet" href="style.css" type="text/css" /> 
 

 
</head> 
 
<body bgcolor="#ffffff"> 
 
<div id="header"> 
 
\t <div id="left"> 
 
    <label>Bitcoin Rotator</label> 
 
    </div> 
 
    <div id="right"> 
 
    \t <div id="content"> 
 
     \t hi' <?php echo $userRow['user_name']; ?>&nbsp;<a href="logout.php?logout">Sign Out</a> 
 
\t \t Welcome Back Your Points <?php echo $userRow['user_points']; ?> 
 
<a href="http://bitcoinrotator.publiadds.org.pt/"> Bitcoin Rotator</a><br /><br /> 
 
<style> 
 
#main { 
 
    width: 70px; 
 
    height: 300px; 
 
    border: 1px solid #c3c3c3; 
 
    display: -webkit-flex; 
 
    display: flex; 
 
    -webkit-flex-wrap: wrap; 
 
    flex-wrap: wrap; 
 
    -webkit-align-content: center; 
 
    align-content: center; 
 
} 
 

 
#main div { 
 
    width: 70px; 
 
    height: 70px; 
 
} 
 
</style> 
 

 
     </div> 
 
    </div> 
 
</div> 
 

 
<div id="body"> 
 
\t <a href="http://bitcoinrotator.publiadds.org.pt/faucet/" style="color: rgb(0,255,0)"><font color="FF00CC"; style="color: rgb(0,255,0)" >Click Here</font><font color="FF00CC"> to go on our faucet</font></a> 
 
<br> 
 
<br> 
 
<a href="http://bitcoinrotator.publiadds.org.pt/login-registration/get all points.php/" style="color: rgb(0,255,0)"><font color="FF00CC"; style="color: rgb(0,255,0)" >Click Here</font><font color="FF00CC"> to see the top 10 users!</font></a> 
 

 
<br> 
 
<br> 
 
<a href="http://bitcoinrotator.publiadds.org.pt/login-registration/urls_rotator.php/" style="color: rgb(0,255,0)"><font color="FF00CC"; style="color: rgb(0,255,0)" >Make Your Rotator </font><font color="FF00CC">Click Here To Start!</font></a> 
 
<br> 
 
<br> 
 
<a href="http://bitcoinrotator.publiadds.org.pt/login-registration/geturlonarray.php/" style="color: rgb(0,255,0)"><font color="FF00CC"; style="color: rgb(0,255,0)" >All The Rotators From Our Website </font><font color="FF00CC">Click Here To Start!</font></a> 
 
<div id="main"> 
 
    <div style="background-color:coral;"></div> 
 
    <div style="background-color:lightblue;"></div> 
 
    <div style="background-color:pink;"></div> 
 
</div> 
 

 

 
</div> 
 

 
</body> 
 
</html>

+0

я любил обновить до текущих пользователей на строки user_points я есть попробовать вроде этого, но не обновление, делает новый $ sql = mysql_query («INSERT INTO' users' ('user_points') VALUES ('5');"); –

+0

У вас есть проблема с безопасностью: SQL-Injection. Никогда не создавайте SQL-выражения вроде этого: ... WHERE user_id = ". $ _ SESSION ['user'] – Meier

+0

Вы можете поблагодарить людей, которые помогли вам, отвечая на их ответ. – Meier

ответ

0

Запрос вам нужно

$user_id = mysql_real_escape_string($_SESSION['user']); 
$sql = mysql_query("UPDATE `users` SET user_points = user_points + 5 WHERE user_id = " . $user_id); 

Пожалуйста, не используйте mysql_ потому что он устарел (используйте вместо этого mysqli_)

+0

@HelderDaSilveiraVentura НЕ ИСПОЛЬЗУЙТЕ' mysql_query'. Использование mysqli extention – khandelwaldeval

+0

можно добавить 0.005 вместо 5, потому что я попробовал и не добавлял ничего –

+0

@HelderDaSilveiraVentura Нет, если тип 'user_points'' 'INT' или' BIGINT', вам нужно для изменения типа поля в 'DECIMAL (5,3)', чтобы это работало ([документация] (https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal -characteristics.html)) –

0

Вы пытаетесь I NSERT значение 5 каждый раз, когда пользователь вошел в систему , что вы хотите обновить содержимое точек строк и может сделать это с помощью этой команды SQL

"UPDATE `users` SET points=`points`+5 WHERE user_id='".$_SESSION['user']."'" 
+0

цистерны для помощи i попробуйте этот последний, и ничего не произошло –

+0

«UPDATE' users' SET user_points = 'user_points' + 5 WHERE user_id = '". $ _ SESSION [' user ']. "'" –

+0

Пожалуйста, перепишите решение таким образом, чтобы предотвратить SQL -Injections. – Meier

Смежные вопросы