Задать вопрос
Ответы пользователя по тегу PHP
  • Не могу сделать чтоб обновлять количество товара в корзине?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) id="btncontcall" у вас повторяется в каждом выведенном элементе. По стандарту (да и чисто по логике), id - уникальный идентификатор (где уникальный - ключевое слово). На странице должен быть только один элемент с таким значением. Что легко проверить, заглянув в консоль и увидев кучу предупреждений о дублирующихся идентификаторах.
    2) Не надо вешать обработчик на кнопку, вешайте на форм.субмит. Естественно айди формы тоже должно быть уникальным. Хотя в вашем случае айди вообще использовать не нужно, используйте либо класс, либо, что в данном случае гораздо логичнее, собственно тег form - $('form').on('submit', function(e){...});, в этом контексте this внутри функции будет сразу целевой формой, не надо выкрутасов с поиском текущей формы.

    Тем более что ищете вы всегда первую, даже в неправильном коде: var form = $('#callbacks')[0]; всегда вернет первый элемент из списка форм, даже если там все будет правильно выбираться по идентификаторам.
    Ответ написан
    Комментировать
  • Нужно вместо хэша возвращать имя файла, при это сохранять файлы как хэш на сервере?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    так как мне передать это имя пользователю
    Из всего диалога в комментариях должен быть вывод:
    1) урл файла для скачивания может быть любым, его трогать не надо.
    2) Чтобы файл скачался под нужным именем, в заголовки нужно добавить принудительное переименование на клиенте
    header('Content-Disposition: attachment; filename="' . $meta['name'] . '";', false);
    , где $meta['name'] - имя под которым должно сохраниться у пользователя.
    Ответ написан
  • Как сделать привязку данных таблицы к тому юзеру у которого открыта сессия на сайте(он авторизовался) привязка по типу id==userid?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если решение наколеночное, не фреймворк, то в сессию пишется что-то типа $_SESSION['user']['loggedIn'] = true; По вкусу можно держать там же айди юзера, и например никнейм, чтобы два раза не бегать... Или взять движок типа лары и использовать что есть из коробки...
    Ответ написан
    Комментировать
  • Почему рабочий php код не работает?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    При попытке сделать var_dump($result); я получаю NULL
    Заменить file_get_contents на curl, в курле включить verbose (гуглить curl verbose php). Скорее всего лажа с серитфикатами. Можно поставить настройку игнорить сертификат, но сервер может просто не принимать ваши запросы. В любом случае нет смысла гадать, надо смотреть отчет курл по соединению.
    Ответ написан
    Комментировать
  • Форма отправки методом POST?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если используется движок - скорее всего он перебивает пост данные и имеет свою обертку для доступа к пост данным. Судя по скринам, вы вызываете не один конкретный файл, а целую цепочку, от индекса через какое-то ядро и до шаблона, что там происходит - загадка. Читайте доку к фреймворку. В остальных случаях - все должно работать, единственно что проверки по типу if(isset ($_POST ) && $_POST)тупость, хоть и простительная новичку, но все равно непонятно зачем вообще это.
    Ответ написан
  • Временная страница сайта?

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

    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 записей в таблице изображений
    в) собственно лежащие где-то (не особо важно где) изображения, ссылки на которые лежат в таблице изображений.
    В ларе создается зависимость один ко многим на таблицы продуктов и картинок.
    Все, дальше что бы вы не делали, и как бы не заливали, происходит независимо от заполненности/незаполнености полей...

    Вопрос, может есть другая библиотека для удобства использования как по сетке, так и загрузке ?
    Во первых сетка легко меняется, естественно она не прибита гвоздями к жс, вы можете ее кастомизировать как угодно, главное использовать в нужных местах правильные наименования классов. То же самое касается загрузки, хотя не очень понятно что вас не устраивает. Есть много библиотек похожих на дропзон, но мне кажется что дело тут не в библиотеках...
    Ответ написан
    Комментировать
  • Как вставить переменную внутрь другой переменной и вывести ее в 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".
    Ответ написан
    Комментировать
  • Как выводить предупреждения в 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.
    читайте документацию, крайне полезная штука.
    Ответ написан
    Комментировать