PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (17): « 1 2 3 4 [5] 6 7 8 9 ... » В конец

> Найдено сообщений: 248
kotyara1979 Отправлено: 01 Декабря, 2014 - 03:46:15 • Тема: Повторное отбражение введенного текста в форму • Форум: Вопросы новичков

Ответов: 3
Просмотров: 225
Не самое правильное отказываться от обработки входящих данных, мало ли что вам отправят пользователи.

Хотя если вы используете 'prepare' обращения к базе данных, то не беда.
kotyara1979 Отправлено: 27 Ноября, 2014 - 05:46:13 • Тема: Работа с массивом и циклом • Форум: Вопросы новичков

Ответов: 1
Просмотров: 128
explode и foreach вам будут в помощь.
kotyara1979 Отправлено: 24 Ноября, 2014 - 15:39:21 • Тема: Как одним запросом обновить 2 записи таблицы • Форум: SQL и Архитектура БД

Ответов: 15
Просмотров: 168
3d_killer пишет:
а первое условие тогда для чего?


IF(условие;истина;ложь) - как я понимаю.
kotyara1979 Отправлено: 23 Ноября, 2014 - 17:18:19 • Тема: Открытие нового окна • Форум: Вопросы новичков

Ответов: 1
Просмотров: 89
Ну скорее понадобится js.

А зачем такое нужно? Какой практический смысл от такого действия?
kotyara1979 Отправлено: 23 Ноября, 2014 - 14:20:37 • Тема: Обмассивился • Форум: Вопросы новичков

Ответов: 2
Просмотров: 134
PHP:
скопировать код в буфер обмена
  1. $rez=array();
  2. foreach($arr as $arr1)
  3. {
  4.         if(isset($rez[$arr1['товар']]))
  5.                 $rez[$arr1['товар']] = $rez[$arr1['товар']]+$arr1['цена'];
  6.         else
  7.                 $rez[$arr1['товар']] = $arr1['цена'];
  8. }
  9. return $rez;


примерно так.
kotyara1979 Отправлено: 21 Ноября, 2014 - 11:03:17 • Тема: Время жизни PHPSESSID • Форум: Вопросы новичков

Ответов: 1
Просмотров: 199
Проверьте время жизни куки. Если правильно помню, session_get_cookie_params должна помочь.
kotyara1979 Отправлено: 21 Ноября, 2014 - 10:45:12 • Тема: Идентивикатор сессии и ошибка "Notice: Undefined index: login in" • Форум: Вопросы новичков

Ответов: 3
Просмотров: 1786
Вверху раздела "Вопросы новичков" есть прикрепленная тема об ошибках.

Цитата:
2) Notice: Undefined index: [index] in [filename] on line [line]
3) Notice: Undefined offset: [number] in [filename] on line [line]
Обе ошибки похожи, и возникают они при обращении к не существующему индексу массива ([index] или [number]) в строке [line] файла [filename], только в первом случае это строковый индекс ($arr['index']), а во втором - числовой ($arr[2]).
Решение: проверить в массиве наличие индекса [index] или [number].


В вашем случае это означает, что в массиве $_SESSION нет индекса 'login'.

Может быть вы ошиблись и должен быть массив _POST или _GET?
(Добавление)
Вторая ошибка - это следствие первой. У вас вывод информации из за ошибки начинается раньше, чем идет формирование заголовков.
kotyara1979 Отправлено: 20 Ноября, 2014 - 17:10:05 • Тема: Скрипт вывода товаров, очень долго грузится (foreach). • Форум: Вопросы новичков

Ответов: 12
Просмотров: 590
Мелкий пишет:
Читайте "Совершенный код" Макконнелла, затем "Рефакторинг" Фаулера.


За такие советы всегда спасибо. Включу в план.

Мелкий пишет:
Вот глобальная переменная. Гвоздями прибиты эта переменная к этой функции.

Все собственно зависит от удобства и назначения функции или класса. Если нужно с этой функцией работать с разными соединениями - это одно дело. Если это "локальная" функция - специально заточенная под определенную ситуацию, предназначенная для конкретной вещи - например, инкапсулировать часть кода для читаемости логики модуля - то это другое дело.

Мелкий пишет:
Банальное - надо продуктам с полем sale=1 поставить css-класс sale. Ваши действия? Переносить логику отображения в эту функцию?

Повторюсь, зависит от задачи, от условий на момент реализации проекта. Функция ориентирована на конкретный вывод в разных местах - включу туда, если раскладка такова, что функция ориентирована только на получение данных одной таблицы из разных блоков с разным форматированием - разметку буду варьировать на месте вызова.
kotyara1979 Отправлено: 20 Ноября, 2014 - 15:08:45 • Тема: Скрипт вывода товаров, очень долго грузится (foreach). • Форум: Вопросы новичков

Ответов: 12
Просмотров: 590
Мелкий пишет:
Прибитая гвоздями глобальная переменная, я не знаю, что тут вообще можно комментировать. И опять же гвоздями прибитая модель (получение данных) к вьюхе (сколько именно, какие и в каком именно порядке выводить результаты).


Извините, вопрос, наверное, глупый, но, где вы увидели глобальную переменную "прибитую гвоздями"? Прибитая к чему?

1. шаблон вывода в блоке, отвечающем за эту часть.
2. функция для вывода отдельно от html. хоть подключаемый по условию файл, например. да мало ли вариантов.

В чем затык для работы? Спрашиваю не из праздного любопытства, подобные варианты кода, не совсем в таком виде, но приходилось использовать в проектах. всегда предпочитаю знать о возможных проблемах в работе. заранее спасибо за ответ.


(Добавление)
esterio пишет:
Потом будут вопросы как поменять тайтл на странице, отослать редирект (после вывода) и т.д.


Как это связано с начальным постом темы?
kotyara1979 Отправлено: 20 Ноября, 2014 - 11:55:41 • Тема: Скрипт вывода товаров, очень долго грузится (foreach). • Форум: Вопросы новичков

Ответов: 12
Просмотров: 590
Мелкий пишет:
Никогда так не делайте!


Если не затруднит, хоть чуток расшифруйте, почему.
kotyara1979 Отправлено: 20 Ноября, 2014 - 04:25:23 • Тема: Скрипт вывода товаров, очень долго грузится (foreach). • Форум: Вопросы новичков

Ответов: 12
Просмотров: 590
alnik-75 пишет:
можно для наглядности привести простенький примерчик реализации ?


PHP:
скопировать код в буфер обмена
  1. function get_product()
  2. {
  3.         connect_db();
  4.         global $mysqli,$pattern;
  5.         $result = $mysqli->query("SELECT * FROM `product` ORDER by `id` DESC");
  6.         while( $row = $result->fetch_assoc()) {
  7.                 printf($pattern,$row['name'],$row['price']);
  8.         }
  9. }
  10.  
  11. $pattern = '<TR><TD>%1$s</TD><TD>%2$s</TD></TR>';
  12. echo "<table>";
  13. $products = get_product();
  14. echo "</table>";
kotyara1979 Отправлено: 19 Ноября, 2014 - 02:19:24 • Тема: Скрипт вывода товаров, очень долго грузится (foreach). • Форум: Вопросы новичков

Ответов: 12
Просмотров: 590
1. потому что два цикла вместо одного.
2. уходит больше памяти. всю выборку после первого цикла ты хранишь в оперативке.

Лучше сделать вывод непосредственно из базы первым циклом. Если пытаешься отрезать html-код от php, то определи шаблон вывода в нужном файле и передай его в функцию (printf, например, используй).
kotyara1979 Отправлено: 17 Ноября, 2014 - 03:19:30 • Тема: Утечки памяти • Форум: Вопросы новичков

Ответов: 16
Просмотров: 867
а каким образом серверный скрипт php может быть связан с утечками памяти в клиентском браузере?
kotyara1979 Отправлено: 16 Ноября, 2014 - 17:09:34 • Тема: как определить что такой ключ в массиве уже есть • Форум: Вопросы новичков

Ответов: 3
Просмотров: 141
array_key_exists
kotyara1979 Отправлено: 13 Ноября, 2014 - 06:09:18 • Тема: Как работает перезапрос страницы? • Форум: Вопросы новичков

Ответов: 2
Просмотров: 989
У вас по коду никакой GET-переадресации нет.

У вас просто ошибка в коде. Нужно:
PHP:
скопировать код в буфер обмена
  1. header("Location: ".$_SERVER["PHP_SELF"]);

вместо вашего

Отсюда повторные отправки POST-ом форм по F5.

А так код рабочий. Единственно только, последний блок никогда отображаться не будет.

Страниц (17): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB