Тема: Непослушний код )
Привіт, я ось ніяк не можу зрозуміти в чому справа, мене не слухається код.
Наприклад,
$qy = "SELECT * FROM battle WHERE status='1'"; // виносимо все що є в цій таблиці з статусом 1
$ult = mysql_query($qy) or die("Query failed : " . mysql_error());
$aYew = mysql_fetch_array( $ult);
$abattle_id = $aYew["battle_id"]; // индикатор боя
$auser1_id = $aYew["user1_id"]; // нік одного гравця
$auser2_id = $aYew["user2_id"]; // нік другого гравця
$abattlgo = $aYew["battlgo"]; // зробив хід гравець один ???
$abattlgo2 = $aYew["battlgo2"]; // зробив хід гравець два ???
$astatus = $aYew["status"]; // статус боя. (1- бій все ще іде) (2-бій закінчений)
if ($abattlgo and $abattlgo2 == "go") { // перевіряємо якщо два гравця зробили хід то віднімаємо від життя гравця силу противника і обновляєм зеначення в базі
$aHP = $aHP - $a2Strength ;
$sqt = mysql_query("UPDATE users SET HP=$aHP WHERE login='$aNickName' ") or die("Савсэм плохо: " . mysql_error());
$a2HP = $a2HP - $aStrength ;
$sqtу = mysql_query("UPDATE users SET HP=$a2HP WHERE login='$a2NickName' ") or die("Савсэм плохо: " . mysql_error());
$dgqt = mysql_query("UPDATE battle SET battlgo='no' WHERE user1_id='$aNickName' ");
$swdft = mysql_query("UPDATE battle SET battlgo2='no' WHERE user2_id='$a2NickName' ");
}
Все працює! якщо дві змінні містять в собі "go" то від змінної $aHP - $a2Strength і записується значення в базу а потім повинно обновляти значення поля battlgo що знахолдиться в базі на "no" і код має зупинятися поки поля
battlgo і battlgo2 не будуть містити в собі "go", але воно чомусь не обновляє значення зразу, обновити може після 50 перезапусків сторінки а може і після двох.
Є ще багато випадків коли код не виконує те що потрібен мав робити, і це не через те що я зробив помилку.
І є ще одна проблема! Як ви всі знаєте я використовую сесії, коли гравець входить в ігру його логін записується в сесію, якщо браузер закрити то сесія має видалитися і користувача має викинути на головну сторінку, але чомусь так теж не робить. Коли я ввійшов в ігру під своїм логіном після чого я закриваю браузер і за 1хв знову відкриваю, і що я бачу???? Я авторизований.
В чому справа??? Може потрібно драйвера обновити чи щось таке! Підкажіть будь-ласка в чому справа.