Ответы пользователя по тегу PHP
  • Временная страница сайта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    гуглить:
    Единая точка входа
    mod_rewrite
    MVC
    роутинг
    Ответ написан
    1 комментарий
  • Как передать цифру из переменной JS в переменную PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Мне нужно сделать вывод информации о карточке в модальном окне, для этого я решил использовать связку jquery and php, данные получаем из базы данных и выводим циклом в карточки, но если нажать на карточку, то открывается подробное описание.

    1) ничего не мешает при формировании страницы сразу добавить всю информацию в готовые шаблоны, а по нажатию делать их видимыми. Собственно чаще всего так и делают.
    2) Аякс - запросы без перезагрузки страницы, позволяющие получить данные с бэкенда "скрытым" запросом. Отправляете ваш айди аяксом на заранее подготовленный урл, который обратно отдает данные карточки.
    Ответ написан
    2 комментария
  • Как передать данные формы на другой сайт и вернуть результат?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Можно ли сделать таким образом, чтобы указанные данные передавались в форму на сайте B сумбитили ее и возвращали обратно результат то есть редириктели на полученную ссылку, но надо сделать так, чтобы этот процесс проходил быстро и не перенаправлял пользователя на сайт B, а возвращал уже результат.
    Нет, если вы не можете модифицировать код сайта В. Единственное что можно сделать - субмитить форму на свой сайт А, на сервере принимать эти данные и с сервера А на сервер В отправлять запрос с этими данными (нарпример через CURL), получать ответ, обрабатывать и возвращать нужные данные на фронтенд.
    Ответ написан
    Комментировать
  • Как ускорить выполнение скрипта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    // вычисляем номер последней записи
    Вы напишите нормально какую задачу то решаете? А то как-то не соответствует код комментариям... вы перебираете ВЕСЬ массив, и вычисляете минимальное число. Зачем? Вы что, каждый раз перенумеровываете все записи при добавлении новой???
    Ответ написан
  • Как объедеить запросы и выполнить один SQL запрос и затем получить результат в виде значений переменных PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    SELECT v.product, , v.link FROM v_product v WHERE v.id = 5463 ORDER BY v.product ASC;
    SELECT i.id as info_id, i.link_to_site FROM infograph v WHERE id = 5463;
    SELECT i.info, description, title, price, first_letter FROM baseinfo v WHERE id = 5463;

    Во первых - куда делся префикс алиаса в условии во втором запросе и почему сам алиас как в первом, хотя используется какой-то i? И тот же вопрос про третий запрос. Еще и в первом 2 раза выбран v.link... Короче бардак с самими запросами для начала пофиксить бы...
    Во вторых - почему у вас айди в 3 разных таблицах один и тот же? Может это не первичный индекс, а внешний ключ, тогда он должен иначе называться. И где тогда сам первичный ключ?
    В третьих - сделать нормальную структуру, ну и тогда можно объединить их через внешний ключ, с указанием что один из них (базовый) равен 5463.

    Похоже что сам синтаксис вам предельно незнаком, и вы просто пишете рандомные строки...
    Ответ написан
    5 комментариев
  • На почту не приходит отправленная форма с помощью MAILER?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $mail->SMTPDebug = 1;
    Ответ написан
  • Не могу вызвать файл по адресу домена mail.php а пишет 404 хотя файл есть?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Скорее всего настроенный mod_rewrite или аналогичная настройка для нжинкса, для реализации единой точки входа. Или вы не в ту папку положили файл.
    Ответ написан
    Комментировать
  • Куда прописывать php_admin_flag display_startup_errors on?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    www.softtime.ru/info/apache.php?id_article=97

    Использование директив php в конфигурационных файлах Apache возможно только при подключении PHP в качестве модуля, а также при соответствующей настройке привилегий AllowOverride, которые должны быть установлены либо в значение Options, либо в значение All.

    AllowOverride Options
    AllowOverride All
    Ответ написан
  • Какие могут быть ошибки при прикреплении файла к письму?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1. В каких случаях возникнет $msg .= 'Failed to move file to ' . $uploadfile;?
    В случае когда
    move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)
    вернет фалс.

    Что конкретно должно быть не так?
    https://www.php.net/manual/ru/function.move-upload...

    Имеется в виду, относится ли эта причина к типам ошибок E_WARNING, E_NOTICE и т.д.?
    Там все написано.
    Ответ написан
  • Создание массива, запись его в файл, как получить массив из файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    создаю выборку из бд
    Это не выборка из бд, это маразм, основанный на обрывочных знаниях о том что есть такая штука как бд, и лени в поиске решения задач, которые хоть как-то отличаются от того, что пишут в задачнике для полных новичков.

    создаю выборку из бд в массив и записываю его в текстовый файл
    Не массив, а массивы. И вопрос о том зачем вам эта выборка в файле остается открытым.

    пытаюсь получить массив из файла
    Не пытаетесь, а получаете, правда только 1 массив, остальные записи игнорируются, так как сериализация (и соответственно десериализация), подразумевает 1 переменную (а вы туда пихаете несколько).

    а хотелось бы что бы вот так
    То что ключи массива при этом у вас одинаковые вас не смущает? Например, что конкретно по вашему мнению вы получите из такого массива, при обращении вот так:$array['oc_loadprice_schema']??
    Ответ написан
    8 комментариев
  • Какой JS скрипт или библиотеку использовать для загрузки изображений?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    но при создании можно не полностью заполнить обязательные
    Как? И почему? Слово "обязательные" как бы намекает что без них ничего не должно работать, форма просто не должна срабатывать.

    Вообще не очень понятно, в чем проблема? После сохранения продукта у вас должна быть
    а) запись в таблице продуктов,
    б) N записей в таблице изображений
    в) собственно лежащие где-то (не особо важно где) изображения, ссылки на которые лежат в таблице изображений.
    В ларе создается зависимость один ко многим на таблицы продуктов и картинок.
    Все, дальше что бы вы не делали, и как бы не заливали, происходит независимо от заполненности/незаполнености полей...

    Вопрос, может есть другая библиотека для удобства использования как по сетке, так и загрузке ?
    Во первых сетка легко меняется, естественно она не прибита гвоздями к жс, вы можете ее кастомизировать как угодно, главное использовать в нужных местах правильные наименования классов. То же самое касается загрузки, хотя не очень понятно что вас не устраивает. Есть много библиотек похожих на дропзон, но мне кажется что дело тут не в библиотеках...
    Ответ написан
    Комментировать
  • Как при неправильно введённом тексте остаться на странице, в котором будет показано сообщение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Нужна переменная чтоб она удалялась после перезагрузки сайта.

    - Через сессии, но столкнулся с проблемой удаления сообщения после перезагрузки страницы.
    Как бы... удаление должно быть не после перезагрузки, а сразу при загрузке. То есть - если в сессии лежит какое-то сообщение, которое мы туде положили при обработке формы и редиректе - сохраняем его в локальную переменную, и этот ключ в сессии удаляем.
    Ответ написан
    Комментировать
  • Как вставить переменную внутрь другой переменной и вывести ее в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    UPD: так как ТС не может сразу описать нормально вопрос, ответ полностью нафиг изменен.
    мой код вот такой:
    $another = [
        [
        'button' => 'Смотреть все фото',
        'title' => '',
        'display' => '_none',
        'link' => "/page1.php",
        'popup' => 'myBtn3',
        ]
        ];

    Добавлять через php в button вот эту строчку "onclick="location.href = ...", чтобы кпокна становилась ссылкой,
    и так же хочу ссылку, которая будет находиться в "onclick="location.href = ...", определять в php...
    когда 'popup' => 'myBtn3', а не пусто, то по классу myBtn3 вешается событие для js, которое по клику открывает попап если оставлять "onclick="location.href = ..." для button , то идет переход по ссылке (который мне не нужен).

    То есть, в вашем случае, вы не смогли определиться что единственным значимым условием для вас является непустое значение 'popup' => 'myBtn3',...
    foreach ($another as $slide) :;?>
        <div class="another-request__title <?= $slide['display']; ?>"><?= $slide['title']; ?></div>
        <div class="another-request__button <?= $slide['popup']; ?>">
          <div class="button">
            <a class="button_gray" <?=(empty($slide['popup']))?'':('href="'.$slide['link'].'" ');?>>
                 <?= $slide['button']; ?>
            </a>
          </div>
        </div>
        <?php endforeach; ?>
    Ответ написан
  • Элементы на php не отображаются на веб сервере в локальной сети. Как исправить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Я создал веб-сервер, переместил в папку "htdocs" шаблон сайта
    Код отсутствует, скрин от непонятно чего совершенно лишний и не несет никакой информации. Подозреваю что пути к ресурсам у вас указывают на локальное расположение ресурсов, в то время как для серверного использования нужно указывать пути от корневой папки сервера.
    Это легко проверить, посмотрев куда конкретно идет запрос при "The requested URL was not found on this server".
    Ответ написан
    Комментировать
  • Как скачать видео mp4 по ссылке быстро?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Все работает, но скачивается не очень быстро. Можно ли ускорить как-то?
    Ограничение скорости может быть в двух случаях: 1) Ваш сервер ограничивает входящий поток, 2) целевой сервер ограничивает исходящий поток. В первом случае идти к хостеру и решать вопрос с ним, во втором случае скорее всего только страдать.
    Ответ написан
  • Как выводить предупреждения в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В используемом виде (когда процесс выполняется на сервере), создать такой функционал достаточно сложно. Как верно заметил Adamos, чаще всего и проще всего реализовать весь процесс обработки без интерактивности, так как напрямую сервер, "по своему желанию", не может отвечать клиенту, а отвечает только в ответ на запрос, после чего завершает работу, за исключением некоторых случаев, которые тут не совсем применимы. По этому, скорее всего, либо вы не верно поняли задание, либо сам поставивший задачу слабо представляет принцип работы веб приложений.

    Как варианты реализации:
    1) Просто перед обработкой выбираем галочку "убрать все дубликаты", простое и рабочее решение, вы заранее определяете алгоритм обработки и больше ничего не надо делать.
    2) На сервере проходимся по файлу, находим все дубликаты и записываем массив позиций, выдаем человеку этот массив в виде списка галочек, после отправки - удаляем помеченные позиции. Реализация в разы сложнее, но полностью удовлетворяет условию.
    3) Вариант с извращениями - на сервере перебираем файл, при нахождении дубля отправляем клиенту галочку, а в сессию пишем позицию с которой продолжать и завершаем скрипт. По получении запроса с галочкой - продолжаем с той же позиции. Криво, но абсолютно повторяет функционал описанный вами.
    Ответ написан
    Комментировать
  • Как в php преобразовать строку с числом в строку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    '{id}' - всегда равна числу, например 57
    '{id}' - всегда равна строке, так как {57} явно не число, в отличие от 57, не говоря уже о том что это литерал по определению, так как заключен в кавычки. И скорее всего там даже не {57}, а просто {id}, если это не какая-то вьюшка с хитропопым парсером.

    Но если я преобразую строку в integer, то $idlink у меня равен 0.
    читайте документацию, крайне полезная штука.
    Ответ написан
    Комментировать
  • Нужно ли в таких случаях делать защиту от инъекций?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    во первых - у вас ошибка в коде, отсутствует кавычка: 'password,
    Во вторых - вопрос в корне не верный, если мы говорим о коде. Основное правило при работе с данными от пользователя - данным от пользователя нельзя доверять никогда.
    Отсюда же и второе правило - любые данные в запросах, если это переменные пришедшие из кода, а не прописанные буквами и цифрами в запросе, должны быть через подготовленные выражения, вы не можете гарантировать что где-то не пропустите пользовательский ввод в запрос.
    Ответ написан
    Комментировать
  • Для чего в проектах принудительно используют use?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Минусы как бы очевидны:
    нет, не очевидны, по крайней мере миллионам разрабов

    1 Код становится трудно читаем. По месту использования не всегда понятно что имеется ввиду под Order::load() - \Framework\Sale\Order::load или \Vendor\Project\Sale\Order::load - приходится проматывать к верху файла.
    Вам как разрабу должно быть в принципе фиолетово, какой из пакетов используется, если они соблюдают один интерфейс. Если не соблюдают, при том что называются одинаково, значит все пошло не так задолго до проблем с определением пакета...

    2 Код становиться длиннее - там где было бы просто:
    \Framework\Main\UI\Extension::load([ 'vendor.module.components.cabinet.personal' ]);
    приходится писать:
    use \Framework\Main\UI\Extension;
    Extension::load([ 'vendor.module.components.cabinet.personal' ]);
    Код становится длиннее в проектах где 2 контроллера и в них по 1 экшену. Там где Extension::load будет вызываться больше одного раза, очевидно экономия на эксплуатации клавиатуры заметно увеличивается. А в больших проектах создание объекта может (и будет) повторяться многократно.

    4 Код становиться замусоренным, так как верхушки файлов запросто превращаются во что-то вроде:
    Если не обращать внимание на отсутствие пункта 3, то... нет, не могу не обращать внимание, вот же торопыга....
    Во первых - данная портянка очень аккуратно прячется любой адекватной ИДЕ,
    Во вторых - это правильно и логично, хранить все импорты в одном месте
    В третьих - если ты пишешь неимпортированный класс в коде - ИДЕ обычно предлагает варианты внесения его в блок импорта, и все выглядит аккуратно.

    И хрен его знает используются импортированные классы ниже ещё или уже нет, ведь никто не убирает этот мусор.
    Хрен не знает, а ИДЕ замечательно знает и даже подсвечивает серым цветом неиспользуемые.
    Ответ написан
    4 комментария