Помощь в компоненте

minimalism

Создатель
Регистрация
6 Июл 2011
Сообщения
31
Реакции
1
Доброго времени суток!
Помогите пожалуйста поправить небольшой скрипт в компоненте движка.
Есть компонент суть которого просто пользователь нажимае на кнопку у него открываеться в кладка и ему за это в счёт идёт +1 эта $Clicks так же у каждого объекта ведёться счёт кликов например кликнули восемь раз и у него выводиться 8 кликов эта $f_kol_cliks_now .У каждого объекта задано определённое количество кликов при достижений которого он должен выключаться.Но дело в том что счёт кликов работает не корректно а при добавлений нового объекта и вовсе у всех объектов сразу сбиваеться счёт.
Помогите пожалуйста поправить эти ошибки.
Вот код компонента:
PHP:
<input type='hidden' value='$f_RowID' name='hidden_1' />
 
                                        <input type='submit' class='bt2 sh' id='new_click' name='new_click' onclick=\"window.open('$f_ssilka')\"; style='background: url(/img/bt2.png); height:44px; width:240px;'/>
<br />Количество сделанных кликов - $f_kol_cliks_now.<br />
</form>
                </div>
 
</td>
 
";
if($_POST['new_click'])
{
$My_new_ID=$_POST['hidden_1'];
$Clicks = $current_user[Clicks];
$Clicks++;
$Date_now = date(d).".".date(m).".".date(yy);
$Date_click = $db->get_var("SELECT date FROM users_clicks WHERE user='$AUTH_USER_ID' AND date='$Date_now' AND message='$My_new_ID'");
 
$kol_skachek = $db->get_var("SELECT kol_skachek FROM Message99 WHERE Message_ID=$My_new_ID");
 
if($Date_click == "")
{
    $f_kol_cliks_now++;
  $db->query("UPDATE User SET Clicks = '$Clicks' WHERE User_ID = '$AUTH_USER_ID'");
  $db->query("UPDATE Message99 SET kol_cliks_now = '$f_kol_cliks_now' WHERE Message_ID = '$My_new_ID'");
  $new_kol = $db->get_var("SELECT COUNT (date) FROM users_clicks WHERE message='$My_new_ID'");
  $new_kol++;
  $db->query("INSERT INTO users_clicks SET date='$Date_now', user='$AUTH_USER_ID', message='$My_new_ID';");
  $old_kol = $db->get_var("SELECT Num FROM Message99 WHERE Message_ID=$My_new_ID");
  if($new_kol == $old_kol)
    $db->query("UPDATE `zabespla_zb`.`Message99` SET Checked = 0 WHERE Message_ID = '$My_new_ID'");
}
}
echo "
 
Думаю проблема в том, что UPDATE выполняется без проверки критериев в блоке WHERE или что-то вроде того. Т.е. происходит апдейт всех строк в пустые значения. Поставь проверки перед запросом, т.е. если значения $Clicks, $AUTH_USER_ID и прочих параметров пусты или не являются числами, то апдейт не выполнится, а на экран выведется отладочная информация.
 
Поправь пожалуйста нужные строки...
Моих знаний на это к сожалению не хватает.
 
Назад
Сверху