Здравствуйте, проблема следующая. Пишу что-то вроде биржи, нужно для экономического эксперимента. Идея проста: есть 2 типа агентов, у первого типа изначально только благо 1, у второго - только благо 2, в результате торговли они должны полностью обменять свое благо на другое (причем перепродажи запрещены, то есть свое благо можно только продавать). Второе благо для удобства можно мыслить как деньги. На страничке есть так называемый "стакан" - таблица с заявками: то есть каждый агент сидит в браузере и заполняет форму: сколько первого блага за сколько второго он готов продать или купить. Как совершается сделка: если агент одного типа видит заявку от агента другого типа и ставит соответствующую заявку, то происходит обмен. Например: агент типа 2 видит, что агент типа 1 хочет продать 10 единиц своего блага 1 за 10 единиц блага 2, тогда если он отправит заявку купить 10 блага 1 за 10 блага 2, то обмен произойдет. Проблема вот в чем: если в стакане есть 2 и больше абсолютно одинаковых заявок от агентов одного типа, то когда агент другого типа введет соответствующую заявку, то она нормально исполнится 1 раз, но если после этого нажать F5, то она исполнится еще раз и будет исполняться столько раз, сколько еще останется заявок в стакане. Как это предотвратить? Лучше конкретный код, потому что я очень в этом слаб. Кроме того, хотелось бы узнать, как можно заставить часть кода выполняться много раз подряд (с лагом в секунду, например). Если кто-то серьезно захочет помочь, то весь сайт (файлы + база) лежит в архиве https://www.dropbox.com/s/uny8xqtvc3cn321/stock.rar (там есть такая штука как graph - это граф, который описывает возможна ли торговля между двумя агентами: берем граф i-ого агента, если на j-ой позиции в строке стоит 1, то он может, если 0, то не может. Если для всех агентов от 1 до N написать их строчки друг под другом, то получим матрицу N*N, понятно, что она симметричная. Собственно, то, что невозможность некоторых агентов торговать друг с другом скажется на итоговом распределении и является предметом исследования. Большое спасибо, если кто-то захочет помочь. Предлагайте варианты реципрокного обмена)))
Много ты написал в посте... посмотрел быстро код... Сам писал либо скачал где то? Твой код изобилует всякими do и sql инкциями.Твой скрипт одна большая дырка. Вначале напиши правильно, а потом гляди все исправится.
Спасибо, что посмотрели код. Сам писал) Про инъекции понятно, но смысла нет: это не сайт для интернета, это, скорее, приложение, запускающееся через браузер, потому что так удобнее. Нам просто нужно поставить эксперимент на маленькой группе хорошо знакомых нам людей, и SQL-инъекции там делать никто не будет. Под "дырка" вы имеете в виду то, что в нем много способов что-нибудь поломать? Опять же, я не писал защищенное от хакеров чудо, мне просто нужен механизм. Все-таки, вряд ли это связано с той проблемой, которую я описал. Можно еще более общий вопрос? Мне нужна в итоге такая схема: есть игроки, они делают ставки (это записывается в таблицу - в "стакан"), и вот главная проблема: это тут же ("тут же" - это условно. с лагом в секунду, например) должно отображаться у других игроков. Какими средствами это можно сделать? К сожалению, я так понимаю, что одним php здесь не обойтись. Вы не поможете?
по поводу "тут же" - такая задача регулярно ставится и как-то решается в чатах -- можешь погуглить это. решения есть разные, только... старайся сразу не усложнять то, что уже не можешь унести ))) сделай без ошибок и косяков то что есть.
Если я тебя правильно понял, то просто сделай переадресацию после обмена и плюс unset() тебе в помощь.
Я бы лучше-это сделал отдельным приложением на Java было бы круче. Запустил ввел данные, зашел, внутри программы на компьютере. Ну, а дальше, что надо уже то и делаешь. Конечно же-это будет клиент, а сервер будет у вас.