Ответы пользователя по тегу PHP
  • Как сохранять данные из input на php?

    @NinjaNickName
    Web разработчик
    <form name="mainc" method="POST">
    <tr class="mainform">
    <td><input type="text" class="usert">
    </input></td></tr>
    <button type="submit">
    </form>


    // Если $_POST['usert'] не пустое
    if(!empty($_POST['usert']) {
       // т.к. данные получаем от клиента, то их нужно проверять на корректность
      // допустим там должны быть только латинские буквы, цифры и точка
      if (preg_match("/^[a-z0-9.]+$/i", $_POST['usert'] )) {
          // если все ок, $_POST['usert']  не пустой и символы корректные, то записываем в базу допустим в SQlite 
        // для этого раздела хорошо бы почитать про работу с БД, экранирование и т.д.
        $usert =   $_POST['usert'];
        $query = sqlite_query($db, "INSERT INTO table1(field1) VALUES ('$usert');");
       } else {
                // если присутствуют какие-то другие символы, то выводим ошибку и завершаем работу скрипта
                    echo 'Переданы некорректные символы';
    		exit();
       }
    }


    Ну это чисто показать как пример, в реальном проекте немного по другому все это делается, в интернете много материалов на эту тему, а лучше купите книгу, например PHP7 в подлиннике и изучайте.
    Ответ написан
  • Как правильно реализовать многосайтовость на одной CMS?

    @NinjaNickName Автор вопроса
    Web разработчик
    Частично ответ нашел тут: Об одной малоизвестной уязвимости в веб сайтах

    В общем, по итогу ответ такой, да, вполне рабочее решение, такой код имеет право на жизнь.

    Имеет ли смысл проверять $_SERVER['HTTP_HOST'] == $_SERVER['SERVER_NAME'] ?

    Это зависит от настроек веб сервера, HTTP_HOST не всегда равен SERVER_NAME, но если все правильно настроить, то HTTP_HOST должен быть равен SERVER_NAME; Думаю смысла проверять нет, достаточно проверить SERVER_NAME, поправьте, если ошибаюсь.
    Ответ написан
    Комментировать
  • В чем ошибка у файла function?

    @NinjaNickName
    Web разработчик
    Так попробуйте
    sprintf( __( '<div class="comment-time">%2$s</div> <div class="comment-likes">%1$s</div><div class="comment-reply"><a class="comment-reply-link" href="#">%3$s</div></div></div>', 'my_press' ), get_comment_date(), get_comment_time(),get_comment_reply_link(array_merge( $args, array( 'reply_text' => __( 'Ответить', 'my_press' ), 'depth' => $depth, 'max_depth' => $args['max_depth'] ) )) ); ?>
    Ответ написан
    2 комментария
  • Как исправить кодировку в CSV?

    @NinjaNickName
    Web разработчик
    Попробуйте сохранить сам файл в кодировка UTF-8
    Ответ написан
    Комментировать
  • Как принять значение из JSON-ответа и поместить их в переменную?

    @NinjaNickName
    Web разработчик
    json_decode, а если именно переменные нужны, потом можете сделать extract

    Как-то так:
    $result = json_decode ($response, true); 
    extract($result);
    Ответ написан
    Комментировать
  • Как сортировать выдачу на php (modx)?

    @NinjaNickName
    Web разработчик
    Приведенный вами код это код шаблона ( за интерпретацию которого отвечает шаблонизатор), вам нужно перед тем как отдать данные в шаблон, сделать сортировку с помощью например sort \ usort
    Ответ написан
    Комментировать
  • Перенос значения с одного сайта на другой?

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

    @NinjaNickName
    Web разработчик
    А как пытаетесь это сделать?

    Данные вы получаете в массиве $_GET или $_POST, если не упоминать про то, что надо проверять все данные полученные от клиента , то можно, передать массив в функцию, а в функции уже обрабатывать. Чтобы узнать ключи массива можно использовать array_keys.

    Или можно сделать примерно так:

    $array = array_values($_POST);
    
    eta_functia_kotoraya_obrabativaet_formy( $array[0], $array[1]);


    Еще можно инпуты назвать одинаково и тогда для каждой формы данные будут например в:
    $_POST['input1']; 
    $_POST['input2'];


    Думаю, вариантов решения больше, это первое, что пришло на ум по существу вопроса.
    Ответ написан
  • Как можно реализовать так чтобы не смогли зайти в админ панель через URL?

    @NinjaNickName
    Web разработчик
    Можно использовать HTTP BASIC AUTH например.
    https://www.php.net/manual/ru/features.http-auth.php

    $login = 'admin';
    $password = 'password';
    
    if (!isset($_SERVER['PHP_AUTH_USER'])) {
    	header('WWW-Authenticate: Basic realm="Administration"');
    	header($_SERVER['SERVER_PROTOCOL'].' 401 Unauthorized');
    	
    	echo 'Доступ запрещен';
    } else {
    	if ($_SERVER['PHP_AUTH_USER'] == $login) {
    		if ($_SERVER['PHP_AUTH_PW'] == $password) {
    			// все ок, можно передать в шаблон логин например $_SERVER['PHP_AUTH_USER']
    		} else {
    			header('WWW-Authenticate: Basic realm="Админка"');
    			header($_SERVER['SERVER_PROTOCOL'].' 401 Unauthorized');
    		}
    	}
    	
    }
    Ответ написан
    Комментировать
  • Как при смене кол-ва товара сделать смену цены Php?

    @NinjaNickName
    Web разработчик
    PHP это серверный язык, чтобы без перезагрузки страницы менять Цену на странице, вам нужен JavaScript, который например по Ajax может сделать запрос к PHP скрипту, который пересчитает и вернет Цену с учетом кол-ва.

    Как пример https://good-code.ru/ajax-zapros/#post-ajax
    Ответ написан
    Комментировать
  • Как записать уникальные значения в массив?

    @NinjaNickName
    Web разработчик
    Если я правильно понял, вам нужен массив всех Vendor, что есть?

    Тогда возможно что-то подобное:

    update
    foreach($products as $product){
         $vendors[] = (string) $product->Vendor;
    }
    $vendors = array_unique($vendors);
    Ответ написан
  • Как отобразить кликабельный список файлов FTP сервера на PHP?

    @NinjaNickName
    Web разработчик
    Напишите функцию, которая отдает файл на вход получая путь_до_файла/название_файла и выводите список как-нибудь вот так:
    echo "<a href='getFile.php?path=ПутьДоФайла'> НазваниеФайла </a>";

    В этом случаи при клике будет обращение к файлу getFile.php в котором уже ваше функция будет отдавать файл.
    Это если в двух словах и очень примитивно.
    Ответ написан
    Комментировать
  • Зачем нужен __construct для присваивания значений переменным?

    @NinjaNickName
    Web разработчик
    Конструктор нужен для выполнения кода при создании объекта.

    PHP 5 позволяет объявлять методы-конструкторы. Классы, в которых объявлен метод-конструктор, будут вызывать этот метод при каждом создании нового объекта, так что это может оказаться полезным, например, для инициализации какого-либо состояния объекта перед его использованием.

    https://www.php.net/manual/ru/language.oop5.decon.php
    Ответ написан
    Комментировать