dkameleon, Здравствуйте!
Я как раз Ваши XML интерфейсы использую!
Скажите в чем смысл делать через CRON если пользователь ввел сумму на сайте и нажал кнопку выплата и в течении 2-5 секунд ему упала денюжка.
Приходит один и тот же пользователь, пополняет счет и сразу делает заказ
на выплату в форме из которой все значения отправляются через AJAX.
Пользователь знает, что передается и в какой файл,
далее он делает 2 запроса каким то образом, которые в микросекундах одинаковы
и происходит следующее:
1 - Ему в два раза больше чем он внес выплачивается на WebMoney кошелек
2 - Его баланс в Базе данных становится минусовым.
Понять не могу как у него это получается если я в самом начале кода проверяю в условии его баланс, а потом отнимаю заявленную сумму с его баланса в БД.
Ведь когда поступит новый запрос, должно в условии сработать, что заявленная сумма меньше его баланса и функцией EXIT() закончить исполнение PHP кода.
$summa = $_POST['Указанная сумма в форме']; $balance = $mysql['БАЛАНС USERA из DB']; $wmcode = $mysql['ID-платежа из DB']; if($balance == 0){ exit("Недостаточно средств!"); } /* проверяю в функции баланс пользователя */ if($summa > balance($login)){ exit("Недостаточно средств!"); } $row_order_id = mysql_fetch_assoc(mysql_query("SHOW TABLE STATUS FROM `DB_name` LIKE 'MY_table'")); $order_id = $row_order_id['Auto_increment']; mysql_query("INSERT INTO `PAY_table` (`id`,`login`,`state`) VALUES('$order_id','$login','0')"); mysql_query("UPDATE `USERS_table` SET balance=balance-".$summa." WHERE `login` LIKE '".$login."'"); /* подготавливаю POST ($order_id,summa,login,wmr-кошелек) данные для передачи через CURL */ $state = pay($_POST); /* и отдаю на другой сервер где подключены XML интерфейсы WEBMONEY */ if($state==0){ mysql_query("UPDATE `PAY_table` SET `state`='1' WHERE `id`=".$order_id); exit("Счет обработан, Деньги выплачены!"); } else { mysql_query("UPDATE `USERS_table` SET balance=balance+".$summa." WHERE `login` LIKE '".$login."'"); mysql_query("UPDATE `PAY_table` SET `state`='2' WHERE `id`=".$order_id); }
Елки палки как же я так то.
Спасибо ребята за то что носом ткнули.
все тему закрыта.
Вот что себе навыдумывал и прошу совета у вас:
//**** JQUERY код для выделения всех чекбоксов по классу ****// <script type="text/javascript"> $(document).ready(function(){ $("#check_all").click(function(){ $('.checkbox').click(); }); }); </script> //**** это уже сокращенно пхп код вывода юзеров ***// $query = mysql_query("select * from users WHERE subagent='$sub_code' ORDER BY `id`"); //$all_users = mysql_num_rows($query); while($row=mysql_fetch_array($query)) { echo"<tr> <td align=center bgcolor=666666 style='width:100px;'><b><font color='#FFFFFF'>Пользователи</font></b></td> <td align=center bgcolor=666666 style='width:100px;'><b><font color='#FFFFFF'>Пароль</font></b></td> <td bgcolor=666666 style='width:100px;'><b><font color='#FFFFFF'>Удалить<br> <input id="check_all" type="checkbox">всех</font></b></td> </tr> <tr> <td style='width: 80px;'><table border='0'><tr> <FORM action='edit_login.php' method='POST'><td> <INPUT TYPE='text' name='login' style='width: 80px;' VALUE='$row[login]'> <INPUT TYPE='hidden' name='id' VALUE='$row[id]'> <INPUT type='hidden' name='sub_code' value='$sub_code'> <INPUT type='hidden' name='sub_login' value='$sub_login'></td> </FORM></tr></table></td> <td style='width: 80px;'><table border='0'><tr> <FORM action='edit_pass.php' method='POST'><td> <INPUT TYPE='text' name='pass' style='width: 80px;' VALUE='$row[pass]'> <INPUT TYPE='hidden' name='id' VALUE='$row[id]'> <INPUT type='hidden' name='sub_code' value='$sub_code'> <INPUT type='hidden' name='sub_login' value='$sub_login'></td> </FORM></tr></table></td> <td class='text1' align='center'><input name='dell' class='checkbox' value='$row[login]' type='checkbox'></td> <tr>"; } echo "<tr> <td colspan='3' class=stdbtn align=center><table><tr> <form action='deluserconfirm.php' method='POST'><td class=text1 align=center> <INPUT type=hidden name='sub_code' value='$sub_code'> <INPUT type=hidden name='sub_login' value='$sub_login'> <INPUT type=hidden name='login' value='$row[login]'> <INPUT type=hidden name='id' value='".$row[0]."'> <INPUT type=submit class='stdbtn' value='DEL'></td> </form></tr></table></td></tr>";
Нужно чтоб из таблицы в БД ( Обновлялись ) или удалялись те юзеры у которых выделен чекбокс выделен.
я говорю о цикле в котором находятся <input type='checkbox' name='dell' value='$user'> без тега <form action=''>и после цикла вообще отдельная форма в которой есть субмит <form action='submit' type='submit'> я просто все ни как догнать не могу как поймет последняя форма все выделенные чекбоксы со своими значениями и отправит их в нужный файл
maldivec
Cпасибо за помощь!
Есть еще вопрос, а если в таблице совпадет число убытка у юзеров, как тогда быть?
goodier добавил 08.06.2010 в 21:47
Если у нескольких Юзеров будет одинаковая цифра убытка, как выбрать логин юзера не первого из таблицы а каждый раз разного
пробовал вот так
$retid=mysql_query("SELECT login, (cashin - cashout) AS cashitog FROM users WHERE subagent=".$subagent." AND online='yes' ORDER BY cashitog"); $num = mysql_num_rows($retid); $i = rand(0,$num-1); for ($k=0;$k<$i;$k++) $online = mysql_fetch_array($retid[$k]); $winner = $online['login']; echo "1 $winner";
Попытался установить на VDS этот ioncube но не получилось.
Вообще это наверное проблема закодировать PHP скрипты не имея платной софтины типа ZEND под рукой да?
У кого есть опыт в кодировке PHP файлов?
Какая тебе разница, ты по теме пиши.
Серьезный ? Ну к примеру такой Encoder после которого нельзя в Notepad++ декодировать.
Одинаково кодирует и декодирует как и Notepad++
этот не подходит, нужно что то серьезное.
Кто уже с этим сталкивался подскажите.