Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Передача переменной из файла в файл PHP / 12 сообщений из 12, страница 1 из 1
27.09.2015, 00:09
    #39062206
justajoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
Подскажите, можно ли передать переменную из файла, который вызывается формой:
<form action="файл.php">
в php код, который идет после формы? В файле генерируется случайное название, вот это название мне нужен передать. Если подключить этот файл, через инклуд и вернуть нужную переменную, то сгенерируется уже новое название, а мне нужно передать, то которое генерировалось при сабмите формы.
...
Рейтинг: 0 / 0
27.09.2015, 02:05
    #39062236
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
justajoke,

У формы action выставить на этот же файл... И обработать наличие $_POST.
...
Рейтинг: 0 / 0
27.09.2015, 11:32
    #39062292
justajoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
DarkMaster,

Насколько я знаю POST передает данные в обработчик вызываемый при помощи form action, а мне нужно наоборот получить из него, именно из обработчика, то название, которое сгенерируется в момент отправки на сервер, потому что изменить конструкцию я вряд ли смогу.
...
Рейтинг: 0 / 0
27.09.2015, 11:45
    #39062298
justajoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
DarkMaster,
У меня есть такая форма:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<iframe style="display: none;" name="h_iframe" width="1" height="1"></iframe>
<form action="фаил.php" method="post" name="img_upload" enctype="multipart/form-data" target="h_iframe">
<div id="imageId">
<img src="картинка" />
</div>
<p>
<label class="file_upload">
<span class="button">
Выбрать
</span>
<input type="file" name="upload_photo" onchange="img_upload.submit();" />
</label>
</p>
</form>
<div id="image_upload_status"></div>



И такой обработчик

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?php
$upload_photo = md5(uniqid(rand(),1)).".jpg";
if (is_uploaded_file($_FILES['upload_photo']['tmp_name']))
{
if ( ($_FILES['upload_photo']['type'] == 'image/gif' || $_FILES['upload_photo']['type'] == 'image/jpeg' || $_FILES['upload_photo']['type'] == 'image/png') && $_FILES['upload_photo']['size'] <= 5120000 )
{
copy($_FILES['upload_photo']['tmp_name'],"путь".$upload_photo);
$src = 'путь'.$upload_photo;
$dest = 'путь'.$upload_photo;
include("другой путь/resize.php");
img_resize($src, $dest, 198, 229);		
echo "<script type=\"text/javascript\">parent.document.getElementById(\"imageId\").innerHTML = '<img src=\"путь{$upload_photo}\" style=\"vertical-align: middle; border-radius:3px;\">';</script>";
}
else if (($_FILES['upload_photo']['type'] != 'image/gif' && $_FILES['upload_photo']['type'] != 'image/jpeg' && $_FILES['upload_photo']['type'] != 'image/png'))
{
echo "<script type=\"text/javascript\">parent.document.getElementById(\"image_upload_status\").innerHTML = '<p class=\"image_error\">Недопустимый тип файла</p>';</script>";
}
else if ($_FILES['upload_photo']['size'] > 512000)
{
echo "<script type=\"text/javascript\">parent.document.getElementById(\"image_upload_status\").innerHTML = '<p class=\"image_error\">Недопустимый размер файла</p>';</script>";
}
else
{
echo "<script type=\"text/javascript\">parent.document.getElementById(\"image_upload_status\").innerHTML = '<p class=\"image_error\">Произошла ошибка при загрузке файла</p>';</script>";
}
}
?>



Получаю от пользователя фотографию, которую сразу ему вывожу обрезанной, чтобы не было ошибок связанных с параллельным заполнением формы, генерирую для фотографии случайное название, но поскольку форма добавления фотографии лишь часть формы регистрации, есть возможность, что регистрация не будет окончена, поэтому изначально фотография направляется в папку временного хранения, а уже при подтверждении регистрации, я хочу переносить фотографию в папку для хранения фотографий пользователей, для этого пытаюсь передать сгенерированное название $upload_photo из обработчика формы добавления фотографии, в обработку формы регистрации
...
Рейтинг: 0 / 0
27.09.2015, 12:44
    #39062334
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
justajoke,
Я вижу вы обращаетесь к документу регистрации из iframe c помощью js скрипта. Почему бы вам в него не передать ваш $upload_photo
...
Рейтинг: 0 / 0
28.09.2015, 09:19
    #39062822
justajoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
kunaksergey,

js скрипты тут не используются, frame нужен для атрибута target у формы, чтобы изображение отображалось на странице после загрузки.
...
Рейтинг: 0 / 0
28.09.2015, 10:02
    #39062857
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
justajoke,

Ну добавь в том же скрипте, где манипулируешь с document.GetElementById(id).InnerHTML помимо ссылки для img еще и INPUT type=hidden для хранения имени.
...
Рейтинг: 0 / 0
28.09.2015, 10:03
    #39062859
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
justajokejs скрипты тут не используются

Ну как бы

Код: php
1.
echo "<script type=\"text/javascript\">



намекает
...
Рейтинг: 0 / 0
28.09.2015, 20:50
    #39063600
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
justajokeИ такой обработчик

обработчик отпадный
советую почитать: http://habrahabr.ru/post/44610/

ещё:
Слеширование нулевого байта обезоруживает его, символ теряет свое значение. Однако без $mysqli->escape_string() слешировать его врятли кто захочет. Вот пример инъекции:
http://site.ru/index.php?id=forum/avatars/user/c20ad4d76fe97759aa27a0c99bff6710.gif &c= [COMMAND]
%00 - закодированный в формат URL нулевой байт. Строка передаваемая функции include имеет вид forum/avatars/user/av132.gif[NULL].php. Как я отмечал выше, нулевой байт «отрезает» правую часть строки. Таким образом прикручиваемое расширение не имеет значения и мы подставляем в файл PHP фрагмент из аватары av132.gif
...
Рейтинг: 0 / 0
28.09.2015, 20:51
    #39063601
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
лять там между .gif И &c=[COMMAND] как раз %00
...
Рейтинг: 0 / 0
29.09.2015, 09:22
    #39063787
justajoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
kunaksergey, DarkMaster,
совсем забыл, как там шла отправка назад на страницу, попробую, как вы предложили, спасибо
...
Рейтинг: 0 / 0
29.09.2015, 09:24
    #39063790
justajoke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача переменной из файла в файл PHP
tip78,
с безопасностью пока даже не начинал разбираться, хочу сначала довести до функционального состояния довести, но спасибо, учту
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Передача переменной из файла в файл PHP / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]