Проблем с rand

joorkataa

Registered
Имам проблем с няколко ъпдате полета вместо да ми прибавя към мойте стойности ми ги нулира и ми дава това което съм спечелил, пример имам 150 пари и печеля 30 пари и вместо да стане 180 ми става 30 ето кода

Код:
<?php
if($_SESSION['name']) {
$name = $_SESSION['name'];
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 0){$randmoney = rand(80, 180); $randpower = rand(23, 59); $randpoints = rand(23, 59); $cost = '0';}
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$newmoney= $money + $randmoney;
$newpower= $power + $randpower;
$newpoints= $points + $randpoints;
$sql = "UPDATE users SET points='$newpoints', money='$newmoney', power='$newpower' WHERE name = '$name'";
if(mysql_query($sql)) { echo "<font class='actively'>Успешно зареди $enrg енергия</font>"; }} else { ?>
Меню<hr color='black' width='300' align='center' />

<?php
echo "
<img src='images/aboutus_gift.gif'><br><a href='?a=r&id=0'><center><h3>Изтегли ПОДАРЪК !</h3></center></a>
";
?>
<? }} else { echo 'Не си логнат'; } ?>
 
$money, $power, $points - къде са дефинирани тези променливи? Пробвай така:
<?php
if($_SESSION['name']) {
$name = $_SESSION['name'];
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 0){$randmoney = rand(80, 180); $randpower = rand(23, 59); $randpoints = rand(23, 59); $cost = '0';}
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$newmoney= $my[money] + $randmoney;
$newpower= $my[power] + $randpower;
$newpoints= $my[points] + $randpoints;
$sql = "UPDATE users SET points='$newpoints', money='$newmoney', power='$newpower' WHERE name = '$name'";
$done=mysql_query($sql) or die(mysql_error());
if($done) { echo "<font class='actively'>Успешно зареди $enrg енергия</font>"; }} else { ?>
Меню<hr color='black' width='300' align='center' />

<?php
echo "
<img src='images/aboutus_gift.gif'><br><a href='?a=r&id=0'><center><h3>Изтегли ПОДАРЪК !</h3></center></a>
";
?>
<? }} else { echo 'Не си логнат'; } ?>
 
Replace каза:
Просто направи заявката така
$sql = "UPDATE users SET points=points + $newpoints, money= money + $newmoney , power= power + $newpower WHERE name = '$name'";
Така няма да стане, тъй като $newpoints е сбор от новите точки + предишните точки на потребителя. По-точно трябва да е за по-лесно points+$randpoints и т.н.
 
Всъщност да ,помислих ,че това е от твоя скрипт.
Но идеята е същата ,вместо $newpoints , ползваш по-горното $randpoints ,същото е и за останалите полета.
 
Replace каза:
Всъщност да ,помислих ,че това е от твоя скрипт.
Но идеята е същата ,вместо $newpoints , ползваш по-горното $randpoints ,същото е и за останалите полета.
Да, и си спестяваш ненужни заявки :}
 

Back
Горе