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

Не работает 2, 3, 4 логическая операция

21.11.2017, 18:13. Показов 1255. Ответов 3

Студворк — интернет-сервис помощи студентам
Этот скрипт заносит в базу данных поля и загружает картинки на сервер + вносит в базу имена и путь картинок... Но если 1 функция выполняется move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile то не выполняются другие... Они вносятся в базу, но на сервер не грузятся, грузится только первая... Если поставить логический оператор "&&" то всё работает
но мне нужно чтоб можно было загрузить 2 или 3 картинки, а 4 была пустая и всё это работало... Может я где-то ошибку сделал?


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
28
29
<?php
            if (!empty($_FILES['uploadfile']['name']))
            {
                $uploaddir='img/tovar/tovar-img/';
                $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
                $uploadfile2 = $uploaddir.basename($_FILES['uploadfile2']['name']);
                $uploadfile3 = $uploaddir.basename($_FILES['uploadfile3']['name']);
                $uploadfile4 = $uploaddir.basename($_FILES['uploadfile4']['name']);
            //  echo $uploadfile.'<br>';
 
                if (!is_uploaded_file($_FILES['uploadfile']['tmp_name']))
                {
                    echo 'ошибка передачи файла';
                }
                else
                {
 
                    if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile) and move_uploaded_file($_FILES['uploadfile2']['tmp_name'], $uploadfile2) and move_uploaded_file($_FILES['uploadfile3']['tmp_name'], $uploadfile3)  and move_uploaded_file($_FILES['uploadfile4']['tmp_name'], $uploadfile4))
                    {
                        $tes = "INSERT INTO `tovar` (`categories`,`nal`,`title`,`chena`, `full_text`, `img1`, `img2`, `img3`, `img4`, `video`)  VALUES ('".$_POST['categ']."','".$_POST['nal']."','".$_POST['title']."','".$_POST['chena']."','".$_POST['full_text']."','".$uploadfile."','".$uploadfile2."','".$uploadfile3."','".$uploadfile4."','".$_POST['video']."')";
                     echo 'Описание и картинки загружены!.<br>';
                        $res = mysql_query($tes);
                        if($res) echo "Файл упешно загружен";
                        else echo "Путь не добавлен в базу данных, но файл загружен ".mysql_error();
                    }
                    else echo "Файл не загружен, ";
                }
            }
            ?>


ВОТ ВЕСЬ КОД



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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Добавление товара</title>
    <link rel="stylesheet" href="../css/bootstrap.css">
    <link rel="stylesheet" href="../css/tovars.css">
</head>
<body>
<?php
    $host="localhost";
    $user="root";
    $pass=""; //установленный вами пароль
    $db_name="tovarbase";
    $link=mysql_connect($host,$user,$pass);
     mysql_select_db($db_name,$link);
?>
<div class="container">
    <div class="row">
        <div class="col-lg-6">
            <div class="main-save">
            <?php
            if (!empty($_FILES['uploadfile']['name']))
            {
                $uploaddir='img/tovar/tovar-img/';
                $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
                $uploadfile2 = $uploaddir.basename($_FILES['uploadfile2']['name']);
                $uploadfile3 = $uploaddir.basename($_FILES['uploadfile3']['name']);
                $uploadfile4 = $uploaddir.basename($_FILES['uploadfile4']['name']);
            //  echo $uploadfile.'<br>';
 
                if (!is_uploaded_file($_FILES['uploadfile']['tmp_name']))
                {
                    echo 'ошибка передачи файла';
                }
                else
                {
 
                    if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile) and move_uploaded_file($_FILES['uploadfile2']['tmp_name'], $uploadfile2) and move_uploaded_file($_FILES['uploadfile3']['tmp_name'], $uploadfile3)  and move_uploaded_file($_FILES['uploadfile4']['tmp_name'], $uploadfile4))
                    {
                        $tes = "INSERT INTO `tovar` (`categories`,`nal`,`title`,`chena`, `full_text`, `img1`, `img2`, `img3`, `img4`, `video`)  VALUES ('".$_POST['categ']."','".$_POST['nal']."','".$_POST['title']."','".$_POST['chena']."','".$_POST['full_text']."','".$uploadfile."','".$uploadfile2."','".$uploadfile3."','".$uploadfile4."','".$_POST['video']."')";
                     echo 'Описание и картинки загружены!.<br>';
                        $res = mysql_query($tes);
                        if($res) echo "Файл упешно загружен";
                        else echo "Путь не добавлен в базу данных, но файл загружен ".mysql_error();
                    }
                    else echo "Файл не загружен, ";
                }
            }
            ?>
                <form class="main-save-form" enctype="multipart/form-data" name="forma" action="" method="post">
                    <p>Выберите категорию: </p>
                    <select class="main-save-form-input" name="categ">
                          <option value="electro">Электроника</option>
                          <option value="watch">Часы</option>
                          <option value="avto">Автотовары</option>
                          <option value="sport">Спортивные товары</option>
                          <option value="add">Разное</option>
                        </select>
                    <p>Есть в наличии?</p> <select class="main-save-form-input" name="nal" required>
                          <option value="Есть">Есть</option>
                          <option value="Нет">Нет</option>
                        </select>
                    <p>Название товара</p> <input class="main-save-form-input" name="title" type="text" placeholder="Название товара" required>
                    <p>Укажите цену :</p> <input class="main-save-form-input" name="chena" type="text" placeholder="Цена" required>
                    <p>Полное описание товара:</p>
                    <textarea class="main-save-form-input" name="full_text" id="" cols="30" rows="10"></textarea>
                    <input class="load" name="uploadfile" type="file" >
                    <input class="load" name="uploadfile2" type="file" >
                    <input class="load" name="uploadfile3" type="file" >
                    <input class="load" name="uploadfile4" type="file" >
                    <p>Ссылка на видео</p>
                    <input class="load" name="video" type="text">
 
                    <input class="save" name="submit" type="submit" value="Добавить запись"> 
 
                </form>
 
            </div>
        </div>
        <div class="col-lg-6">
            <div class="main-tovar">
            <?php
            //Удаляем, если что
            if (isset($_GET['del'])) {
                $sql = mysql_query('DELETE FROM `tovar` WHERE `id` = "'.$_GET['del'].'"');
                if ($sql) {
                    echo "<p>Товар удален.</p>";
                } else {
                    echo "<p>Произошла ошибка.</p>";
                }
            }
 
            //Получаем данные
            $sql = mysql_query('SELECT `id`, `title` FROM `tovar`');
            while ($result = mysql_fetch_array($sql)) {
                echo $result['id'].") ".$result['title']." - <a href='?del=".$result['id']."'>Удалить</a><br>";
            }
            ?>
            </div>
        </div>
        
    </div>
</div>
 
</body>
</html>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2017, 18:13
Ответы с готовыми решениями:

Логическая операция > не работает с обобщениями
1. При при применение операции &gt; у меня появляется следующая ошибка : cannot apply operator '&gt;' to operands of type TSort and TSort. Как...

Логическая операция AND
Вот сижу и разбираюсь с логическим выражением AND Я ведь правильно понимаю, если логически умножать числа например 3 AND 4 результат...

Логическая операция
Вообщем дельфи соединен с бд акцес. в акцессе есть табличка &quot;таблица&quot; с атрибутами : цена, количество. Есть запрос...

3
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
21.11.2017, 20:16
Для изображений обычно делают отдельную таблицу.
Цитата Сообщение от jenkz Посмотреть сообщение
PHP
1
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
Использование названия файла с ПК юзера - уязвимость.
Цитата Сообщение от jenkz Посмотреть сообщение
мне нужно чтоб можно было загрузить 2 или 3 картинки, а 4 была пустая и всё это работало
А зачем вы 4 раза запускаете move_uploaded_file, если файлов может быть меньше 4?
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
21.11.2017, 20:23
Лучший ответ Сообщение было отмечено jenkz как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (!empty($_FILES)) {
    $uploaddir='img/tovar/tovar-img/';
    $bfile = array();
    foreach ($_FILES as $pole=>$var) {
        $uploadfile = $uploaddir.basename($var['name']);
        if (move_uploaded_file($var['tmp_name'], $uploadfile)) $bfile[] = $uploadfile;
    }
    $bfile = $bfile + array('','','','');
    $tes = "INSERT INTO `tovar` (`categories`,`nal`,`title`,`chena`, `full_text`, `img1`, `img2`, `img3`, `img4`, `video`) 
            VALUES ('".$_POST['categ']."','".$_POST['nal']."','".$_POST['title']."','".$_POST['chena']."','".$_POST['full_text']."',
                    '".array_shift($bfile)."','".array_shift($bfile)."','".array_shift($bfile)."','".array_shift($bfile)."','".$_POST['video']."')";
    echo 'Описание и картинки загружены!.<br>';
     $res = mysql_query($tes);
}
1
0 / 0 / 0
Регистрация: 10.11.2016
Сообщений: 34
21.11.2017, 20:45  [ТС]
ytf, Огромное спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2017, 20:45
Помогаю со студенческими работами здесь

Логическая операция
Даны три числа: А,В,С. Проверить истинность высказывания. число В находится между числами А и С. Задачу кажется сделать смог: var ...

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

Логическая операция PAND
Здравствуйте.Нужно составить программу : есть два массива по 5 элементов , нужно сделать логическое умножение попарно чисел ( 1-ый элемент...

Логическая операция ИЛИ
Добрый день, хотелось бы узнать как ввести логическое ИЛИ при наборе кода, а то ведь НЕ и И вводится довольно легко Shift + 1 и Shift + 7 +...

ip адресация, логическая операция
Выполните логическую операцию «И» а) для IP-адреса и маски подсети отправителя ; б) для IP- адреса и маски подсети получателя и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru