[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Два submit`а
Zuko
Во время обработки кнопки, ответственной за загрузку файлов на сервер, в
переменные заносятся определённые данные. Но проблема в том, что при
обработке второй кнопки типа submit эти переменные не доступны. Хотя в
любой другой части программы они доступны. Что можно сделать? Ни сессии,
ни куки не спасают.

if (@$_REQUEST['Submit1'])
{

/* Отсюда берутся переменные */

}

if(@$_REQUEST['Submit2'])
{

/* Вот здесь переменные из submit1 недоступны */

}

/* А вот здесь вполне */
...


Второй submit актуален только после выполнения первого.



Спустя 1 час, 29 минут, 36 секунд (12.03.2010 - 08:31) Nikitian написал(а):
Кнопку обрабатываете JS'ом?
Давайте с примерами кода, а то неясно о чём речь.

Спустя 5 минут, 11 секунд (12.03.2010 - 08:36) Zuko написал(а):
Цитата (Nikitian @ 12.03.2010 - 05:31)
Кнопку обрабатываете JS'ом?
Давайте с примерами кода, а то неясно о чём речь.

PHP. Обновил первый пост.

Спустя 23 минуты, 3 секунды (12.03.2010 - 08:59) Nikitian написал(а):
Если форма одна, то показывайте html формы. Можно без оформления, интересует только то, что относится к форме.

Спустя 4 минуты, 48 секунд (12.03.2010 - 09:04) Zuko написал(а):
Цитата (Nikitian @ 12.03.2010 - 05:59)
Если форма одна, то показывайте html формы. Можно без оформления, интересует только то, что относится к форме.

<html> 

<body>

<form
method="POST" action="" enctype="multipart/form-data">
<table
border="1" width="829" height="282">
<tr>
<td
height="33" width="819" colspan="2"> </td>
</tr>
<tr>
<td
height="179" width="186">
<p
align="center">
<img
src="<?=$mininame?>" width="150" height="170" border="2"/></td>
<td
height="179" width="627"> </td>
</tr>
<tr>
<td
height="60" width="819" colspan="2"> </td>
</tr>
</table>
<p>
 </p>
<p>
 </p>
<table
border="0" width="827" height="255">
<tr>
<td
height="211" width="600" rowspan="3">
<p
align="center"><textarea rows="14" name="newtext" cols="73"><?=$newtext;?></textarea></td>
<td
height="178" width="206">
<p
align="center">
<img
src="<?=$image?>" width="150" height="170" border="2"/></td>
</tr>
<tr>
<td
height="28" width="206">
<p
align="center">
<input
type="file" name="MyFile" size="20" style="float: right"></td>
</tr>
<tr>
<td
height="27" width="206">
<p
align="center">
<input
type="submit" value="Загрузить изображение" name="Submit1" style="float: center"></td>
</tr>
<tr>
<td
height="36" width="817" colspan="2">
<p
align="center">
<input
type="reset" value="Сброс" name="ResetBtn" style="float: right">
<input
type="submit" value="Поместить данные в каталог" name="Submit2" style="float: right"></td>
</tr>
</form>
</table>

</body>

</html>

Спустя 31 минута, 28 секунд (12.03.2010 - 09:36) sergeiss написал(а):
Все равно вопрос не понятен, т.к. в твоей форме нету Submit1 и Submit2!!! Опиши более четко, в чем проблема. Непонятно потому что.

Затем. Форму надо закрыть не внутри таблицы, а снаружи. Чтобы вся таблица была внутри формы.
Также лучше использовать не короткую форму вывода <?= ..., а полную <?php echo ....

Спустя 11 минут, 8 секунд (12.03.2010 - 09:47) Zuko написал(а):
Цитата (sergeiss @ 12.03.2010 - 06:36)
Все равно вопрос не понятен, т.к. в твоей форме нету Submit1 и Submit2!!! Опиши более четко, в чем проблема. Непонятно потому что.

Затем. Форму надо закрыть не внутри таблицы, а снаружи. Чтобы вся таблица была внутри формы.
Также лучше использовать не короткую форму вывода <?= ..., а полную <?php echo ....

Форму отредактировал.

Первый сабмит берёт данные о картинке, загружаемой с помощью FileUpload.Помещает её во вннутреннюю временную папку, сжимает и выводит в качестве миниатюры в специальном окошке внизу. Если юзверу понравилось - отправляем данные уже в постоянную папку с помощью второго сабмита и идёт работа с БД. Чтобы отправить файл в постоянную папку нужно его имя, которое берётся в рез-те работы Submit1. Проблема в его получении.

Если есть какой-нибудь другой способ сделать ту же самую задачу, будет интересно узнать. Ajax не предлагать.

Спустя 8 минут, 18 секунд (12.03.2010 - 09:55) sergeiss написал(а):
Цитата (Zuko @ 12.03.2010 - 10:47)
которое берётся в рез-те работы Submit1...

Результатом его работы является информация о том, что кнопка нажата smile.gif Не более того. А уж как ты это используешь, это твое дело.

И поменяй местами </form> и </table>!!! Чтобы таблица заканчивалась внутри формы.

Далее. Если тебе нужно передать информацию форме, то можно использовать поле типа hidden. После нажатия любой кнопки, во время обработки данных, записываешь туда всё, что угодно. Например, имя файла, который был загружен. Юзер не видит эту информацию, но она в форме есть. И если он подтвердит окончательность загрузки (нажав другую кнопку), то тогда принимающая сторона будет знать, что же именно грузить. Из скрытого поля данные обрабатываются также, как и из обычного текстового.

Второй вариант - использовать сессию для сохранения имени загруженного файла.

Спустя 4 минуты, 52 секунды (12.03.2010 - 10:00) Zuko написал(а):
Цитата (sergeiss @ 12.03.2010 - 06:55)
Цитата (Zuko @ 12.03.2010 - 10:47)
которое берётся в рез-те работы Submit1...

Результатом его работы является информация о том, что кнопка нажата smile.gif Не более того. А уж как ты это используешь, это твое дело.

И поменяй местами </form> и </table>!!! Чтобы таблица заканчивалась внутри формы.

Далее. Если тебе нужно передать информацию форме, то можно использовать поле типа hidden. После нажатия любой кнопки, во время обработки данных, записываешь туда всё, что угодно. Например, имя файла, который был загружен. Юзер не видит эту информацию, но она в форме есть. И если он подтвердит окончательность загрузки (нажав другую кнопку), то тогда принимающая сторона будет знать, что же именно грузить. Из скрытого поля данные обрабатываются также, как и из обычного текстового.

Второй вариант - использовать сессию для сохранения имени загруженного файла.


За hidden ОГРОМНОЕ спасибо, всё работает как надо!))

А сессии почему-то у меня совсем не работают, и с куками то же самое(

Спустя 11 минут, 12 секунд (12.03.2010 - 10:11) sergeiss написал(а):
Цитата (Zuko @ 12.03.2010 - 11:00)
всё работает как надо!

Ну и то хорошо! smile.gif

И </form> и </table> не забудь правильно поставить!

Спустя 5 минут, 28 секунд (12.03.2010 - 10:17) Zuko написал(а):
Цитата (sergeiss @ 12.03.2010 - 07:11)
Цитата (Zuko @ 12.03.2010 - 11:00)
всё работает как надо!

Ну и то хорошо! smile.gif

И </form> и </table> не забудь правильно поставить!

Поставил) Спасибо))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.