Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Галочка остаётся помеченной. |
Автор: bogdach 15.10.2007, 11:56 | ||
Помогите сделать так чтоб если галочка помечена, то она остаётся помеченной сколько бы раз пользователь на нажимал "FIRE".
|
Автор: PARROT 15.10.2007, 12:04 | ||
Добавлено через 1 минуту и 37 секунд Только причем тут РНР? |
Автор: flashaa 15.10.2007, 12:19 | ||||||
Кривоватый вывод.. Я вижу что строка таблицы закрывается - </tr>, но не вижу, чтобы она открывалась. Полагаю, надо сделать так:
У тебя есть таблица 10х10, внутри ячеек которой либо чекбокс, либо радио... Что-то ты не договариваешь, поэтому остальное понять не могу. Добавлено @ 12:24
Теперь понятно. А с чего у тебя должны сохраняться предыдущие пометки? Посмотри на логику своего скрипта - он помечает только запрашиваемые квадраты. Чтобы он помечал все, тебе нужно каждый раз сохранять, например в сессию.
|
Автор: bogdach 15.10.2007, 12:30 |
Код кривоватый а вывод нормальный. Там ещё есть кнопка которую вы упустили, попробуйте пометить кружок и нажать эту кнопку. не бойтесь ничего страшного не произойдет. ![]() ![]() |
Автор: flashaa 15.10.2007, 12:44 |
Где же вывод нормальный, если в нем откровенное нарушение древовидной структуры причем в элементе второй вложенности - таблице. Да, браузер отрисовал, потому что умный, и потому что код простой. Я отредактировал пост, в нем решение. |
Автор: bogdach 15.10.2007, 12:53 | ||
А кроме сессий куда ещё можно сохранят? А то у меня сессии почемуто не работают. |
Автор: MoLeX 15.10.2007, 12:59 |
bogdach, в куки, файлы, БД. |
Автор: bogdach 15.10.2007, 13:19 | ||
Ну в общем то понятно. Я просто в сессиях не разбираюсь.
Этот код не работает, вернее работает не так как я хотел. Он оставляет помеченые квадратики только если их помечать попорядку а если вразброс то не оставляет. А мне надо чтобы вразброс работало |
Автор: flashaa 15.10.2007, 14:00 | ||
Код работает так - перебирает все элементы таблицы, если координаты элемента соотвествуют $hit или $fire или есть запись в сессии с координатами этого элемента (из 3х уловий достаточно выполнение хотя бы 1), то: 1) добавляем в сессию информацию об элементе 2) отрисовываем помеченный элемент Поскольку каждый элемент имеет свои собственные координаты и мы проходимся по КАЖДОМУ элементу, проверяя отдельно условия для КАЖДОГО элемента - не вижу никакой зависимости от порядка нажатия... Скорее всего в браузере вы видите устарешвший вариант страницы. Чтобы этого избежать, вставьте перед первым выводом в браузер заголовки запрета кеширования. Собственно, session_start() должно быть ДО вывода в браузер.
|
Автор: bogdach 15.10.2007, 14:21 |
Я просто удивляюсь как вы так можете посмотрели на код и знаете как он работает. По теории он может и работает а на практике нет. Вставил заголовки запрета кеширования, протестиравал, всё равно не работает, не знаю уже что и делать. :( |
Автор: flashaa 15.10.2007, 14:30 | ||
Проверил код на своей машине - все работает. Добавлено через 2 минуты и 37 секунд Вот полный текст скрипта:
|
Автор: bogdach 15.10.2007, 14:44 |
Значит это у меня машина не правильная. У меня Апач, наверное он сессии не поддерживает. Может есть какой другой способ, например сохранять это в спрятанные элементы формы? |
Автор: flashaa 15.10.2007, 15:01 | ||
Чтобы что-то отладить, надо понять что не работает. У вас выдаются какие-либо ошибки? Апач какой версии, как устанавливали? По поводу вашей задачи - расскажите по-подробнее, для чего вы это делаете, возможно, удасться оптимизировать. Другой вариант работы: с сохранением в файл(в папке со скриптом создайте файл selected.txt) - у себя проверял, работает
|
Автор: bogdach 15.10.2007, 15:25 | ||
А вот это работает, отлично. Спасибо, спасибо и еще раз спасибо! ![]() |