С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514

Пресловутая isset

07.04.2015, 08:44. Показов 1307. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
не могу понять почему файл постоянно выбран
без разницы выбран или не выбран файл все время срабатывает

else
"Данный файл уже обрабатывался"

HTML5
1
2
3
4
5
6
7
8
9
10
<html>
<head>
</head>
<body>
<form action='imp_exp.php' method='POST' enctype='multipart/form-data'>
    <input type='file' name='userfile'><br>
    <input type='submit' name='upload_btn' value='Загрузить'>
</form>
</body>
</html>
PHP
1
2
3
4
5
6
7
8
9
10
<?php session_start();
if (isset($_FILES['userfile'])!='')
   {
   $im_opl=mysql_query('select name from im_opl where name="'.$_FILES["userfile"]["name"].'"');
   if(mysql_num_rows($im_opl)==0)
      {
       ...................
       } else {echo '<p style="color:red">Данный файл уже обрабатывался</p>';}
    }
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2015, 08:44
Ответы с готовыми решениями:

Не работает if (!isset($id)
&lt;?php include(&quot;blocks/bd.php&quot;); ?&gt; &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;...

Isset не работает, как нужно
Всем доброго времени суток. Вкратце суть проблемы. Есть блок текстареа. Есть обработчик этого блока(парсер) так вот надо чтобы он...

Parse error: syntax error, unexpected 'isset' (T_ISSET)
Сайт выдает такую ошибку Parse error: syntax error, unexpected 'isset' (T_ISSET) in /home/host1/play4me.net/add.php on line 34 Вот код...

15
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
07.04.2015, 12:26
Это что за конструкция такая:
PHP
1
if(isset($_FILES['userfile'])!='')
?

Зачем вы булевый результат isset() сравниваете с пустой строкой?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
07.04.2015, 12:27
Цитата Сообщение от inetinf Посмотреть сообщение
if (isset($_FILES['userfile'])!='')
Смущает эта строка.

PHP
1
2
3
4
if(!empty($_FILES['userfile']))
{
    ...
}
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
09.04.2015, 11:00  [ТС]
когда выводиться сообщение Данный файл уже обрабатывался
то после этого нажать F5 он все ровно выводит Данный файл уже обрабатывался

Добавлено через 42 минуты
Цитата Сообщение от Jodah Посмотреть сообщение
if(!empty($_FILES['userfile']))
так то же проходит
0
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
09.04.2015, 11:23
PHP
1
if($_FILES['userfile']['name'] != '')
Добавлено через 59 секунд
Любое поле формы, даже если оно не заполнено, передается на сервер и isset() для него всегда вернет TRUE. Проверяйте содержимое, а не факт наличия поля.
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
09.04.2015, 12:36  [ТС]
я уже так сделал все равно проходит
PHP
1
if ((isset($_POST['upload_btn'])) && (isset($_FILES['userfile']["name"])!='') && (!empty($_FILES['userfile'])))
Добавлено через 1 минуту
0
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
09.04.2015, 13:14
Опять фигню какую-то понаписывали. Что такое isset($_FILES['userfile']["name"])!=''?
Что вы этим хотели сказать?

P.S. Сделайте print_r($_POST) и покажите результат, что там у вас.
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
09.04.2015, 13:40  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
print_r($_POST)
Array ( [upload_btn] => Загрузить )
0
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
09.04.2015, 14:31
inetinf, я хотел сказать print_r($_FILES)
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
09.04.2015, 14:55  [ТС]
Array ( [userfile] => Array ( [name] => VASYA.QQQ [type] => application/octet-stream [tmp_name] => /tmp/phpkjUxky [error] => 0 [size] => 14420 ) )

Добавлено через 33 секунды
значение phpkjUxky при обновлении постоянно меняется
0
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
09.04.2015, 16:23
Цитата Сообщение от inetinf Посмотреть сообщение
значение phpkjUxky при обновлении постоянно меняется
Секундочку. А вы как проверяли-то? Один раз отослали с формы файл, оказались на странице обработки, а потом просто обновляли эту страницу?

Откройте-ка свой php-скрипт на новой вкладке путем ручного вбивания URL в адресную строку браузера и посмотрите на результат.
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
09.04.2015, 18:48  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
Секундочку. А вы как проверяли-то? Один раз отослали с формы файл, оказались на странице обработки, а потом просто обновляли эту страницу?
ДА именно эту проблему хочется решить
а то что в новой вкладке или заново открыть браузер это понятно что будет новая сесия
0
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
09.04.2015, 18:52
Цитата Сообщение от inetinf Посмотреть сообщение
ДА именно эту проблему хочется решить
а то что в новой вкладке или заново открыть браузер это понятно что будет новая сесия
Дело отнюдь не в сессии, а в том, что если нажать кнопку "обновить", стоя на странице обработки загрузки, браузер снова отправляет POST-запрос с теми же данными, что и при первой отправке формы. Понимаете?
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
10.04.2015, 08:27  [ТС]
это я понимаю
можно ли решить эту проблему не используя
PHP
1
2
          header("Location: ".$_SERVER['PHP_SELF']);
          exit();
0
Native x86
Эксперт Hardware
 Аватар для quwy
6855 / 3788 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
10.04.2015, 11:20
Можно обходным путем. На странице формы устанавливать куку со случайным числом, при обработке загрузки эту куку сохранять куда-нибудь, и при повторном посте той же формы проверять, нет ли этого числа в списке уже обработанных. Ну, или к имени файла привязаться, если оно достаточно уникальное.
1
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
10.04.2015, 11:29  [ТС]
попробую с кукой спс за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2015, 11:29
Помогаю со студенческими работами здесь

Ошибка isset
&lt;?php if (isset($_POST(&quot;calc&quot;))){ print_r($_POST); } ?&gt; &lt;!DOCTYPE html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; ...

Isset и $_GET
Здравствуйте, возникла ошибка. Код простой: echo $_GET; echo isset($_GET)); Выводить только: servers

isset() + $_POST
Здравствуйте. В одном из своих постов lnk, была задача записи данных в файл, но время идет и все мы учимся и совершенствуемся,...

Не работает if isset
Доброго времени суток. Возникла странного рода проблема. Пишу регистрацию для сайта. Передаю переменные скрипту и там проверяю,...

ArrayAccess isset и null
php не перестает радостно удивлять. Как проверить имеется ли в объекте реализующем ArrayAccess элемент со значением null? isset вернет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru