остаться на странице после получения POST

natalie

Новичок
остаться на странице после получения POST

Здравствуйте,
у меня гибрид flash + PHP + MySQL

смысл проекта заключ. в том, что пользователь загружает картинку со своей машины на сервак (это PHP часть), затем эта картинка ресайзится, и передается во флешку, отображается там, пользователь на ней рисует, и жмет кнопку "save", тут его рисование в виде строки методом POST передается обратно в PHP на ту же страницу, PHP отправляет эту строку в базу данных (чтоб потом пользователь мог посмотреть свое рисование...)

я новичок в PHP и моя проблема в том, что после передачи POSTа из флешки обратно на php страницу, исчезает и флешка и картинка, только торчит проверка, что файл не того типа (не jpg, gif ) - это потому (как я понимаю), что страница обновляется, а загруженной картинки уже нет, есть только POST... если я правильно понимаю, то как мне это обойти?

скрипт в общем-то крошечный, вот он в архиве:

http://208.109.13.212/draw/upload.rar

а чтоб понять идею: http://flashmysite.com/draw/upload.html - только тут как видите, не участвует PHP скрипт с сохранением в базу данных, сдесь сохраняет флешка на вашу локальную машину... а мне нужно, чтоб на сервер сохранялось рисование, поэтому и пришлось задействовать MySQL

спасибо
 

Фанат

oncle terrible
Команда форума
и поэтому же, конечно же, вопрос направлен в форум по MySQL
 

natalie

Новичок
извините... просто в интернете я не нашла форума, который бы обсуждал такие гибриды... флешеры меня тоже отсылают... :(

но я уже нашла выход :) я отправляю POST на другую страницу, которая и работает с MySQL, а потом закрываю ее: OnLoad = 'window.close();'

а можно я еще спрошу вопрос касается самой структуры - проблемы присвоения ID-шникков юзерам, у меня щас автоинкремент стоит на поле ID... но каждый раз, когда пользователь сохраняет рисунок, в базу данных записывается новый ID и text-ом само содержание post... юзеру ссылку надо будет дать чтоб не только он нарисованное мог исправлять, но и его друзья например.

извините, если путано и непонятно
 

Фанат

oncle terrible
Команда форума
к флешу это имеет такое же отношение, как и к мускулю - никакого.

всё это касается пхп, или, даже, скорее, основ общения браузера с сервером - без разницы, пхп ли на сервере и флеш ли на клиенте.
отсутствует просто понимание логики своих действий.

к примеру, непонятно, зачем тебе понадобилась старая картинка, которую ты уменьшала.
в твоём описании отсутствует причина, по которой эта картинка была бы нужна, но проблема твоя, как я понял, заключается в отстутствии этой картинки.
 

natalie

Новичок
старая картинка пусть валяется в папке вместе с уменьшенной... может пользователь захочет покрупнее рассмотреть картинку, которую он залил... уже не рисуя на ней.

я и пришла сюда, чтоб умные люди добавили логики к моему смутному пониманию чего делать... у меня есть только постановка задачи:

1) пользователь загружает на сервер картинку.

2) картинка складывается в папку с названием: день.месяц.год (20.10.2006) и со своим именем

3) во флешку передается эта картинка - загружается из соответств. папки. (с помощью GD PHP меняются
размеры картинки под размер флешки. новая картинка для флешки маленького размера называется так же
+ small)

4) пользователь рисует на ней.

5) сохраняется все, что он нарисовал поверх картинки, и хранится это все на сервере.

6) пользователь получает ссылку на эту флешку с рисунком

7) он может дать эту ссылку кому-либо и каждый раз рисунок будет перерисовываться и пересохраняться.

ну и выше в топике описанные телодвижения, ведущие к решению моей задачи

спасибо
 

Фанат

oncle terrible
Команда форума
я и пришла сюда, чтоб умные люди добавили логики к моему смутному пониманию чего делать...
это болезненный процесс =)
надо выяснять у тебя, что ты имела в виду, и что есть на самом деле.

так если картинка сохранена на сервере согласно п.2, то почему ты переживаешь по поводу её отсутствия?
возьми и выведи её. передай во флеш её адрес, и из флеша, с обрисованной картинкой - обратно.
и показывай.
в этом была твоя проблема?
 

natalie

Новичок
было так:

1) картинка загружается на сервак
2) уменьшается и импортируется во флешку
3) пользователь рисует на своей картинке (во флешке)
4) когда он (во флешке) жмет button "save", строка которая полностью описывает его рисование передается методом POST из флеша в обратно на php страницу upload, но тут исчезала и флешка с картинкой - все, php перечитывался и уже не видел загружаемой картинки, ничего не видел кроме этого переданного ему POST ... он просто этот POST в MySQL базу записывал, и все.

я уже нашла выход я отправляю POST на другую страницу, которая и работает с MySQL, а потом закрываю ее: OnLoad = 'window.close();'

но у меня теперь проблемы другого рода... как теперь запоминать какой пользователь какое рисование сохранил... и сколько раз... но это уже точно не flash и не MySql это как вы точно подметили ЛОГИКА :)))

спасибо
 

Фанат

oncle terrible
Команда форума
это не логика, это пхп.
насколько я понимаю, никакой регистрации нет - все пользователи анонимные?
для идентификации пользователя, пока он производит все телодвижения на сайте, служат сессии.
PHP FAQ: Сессии. Подробное описание работы и объяснение механизма.

для идентификации картинок можно использовать mysql, с её механизмом уникального автоинкремента.
делать запись в таблице, получать id, и этот id делать именем картинки.
PHP FAQ: MySQL. Просто и понятно.

-~{}~ 03.07.06 17:41:

он просто этот POST в MySQL базу записывал, и все.
ну так а кто ему мешал рписовать после этого и флешку и картинку?
а если праильнее - перенаправлять на страницу, которая нарисует
 

natalie

Новичок
а я неумею перенаправлять (пока)

спасибо дружище, очень помог (я ж говорю php 2 дня знаю, я не слыхала про сессии), пойду почитаю факи...

спасибо!
 

Фанат

oncle terrible
Команда форума
обращайся ещё.
у нас факов много =)

суть-то не в том, чтобы перенаправить. про перенаправление написано здесь PHP FAQ: Самые основы. Как работает PHP.

а в том, как я сейчас понял, чтобы не ждать, чтобы картинка и флешка сама появилась , а рисовать их снова.
вот как на этом форуме.
после того, как ты пишешь своё сообщение, ничего не пропадает.
поскольку показывается та же самая страница показа ветки форума.
 
Сверху