Я включаю свой встроенный серверэто какой и во что он встроен у вас?
начинают подключаться все данные с проекта который я делал несколько месяцев назад, и интересно то что совсем с другого порта.В компьютерном понимании порт - это не стоянка судов и контейнеров, а условная адресация к области оперативной памяти, которую "слушает" или использует определенная программа. В данном случае ваш "встроенный сервер". Он "услышал" запрос на указанном порту и отдал тот же контент который и был у вас в его папке по умолчанию для показа (document root).
Что можно сделать в данной ситуации?Практически все "встроенные сервера" имеют файлы конфигурации, позволяющие настроить как основной document root, так и "алиасы" - много доменов на одном сервере, каждый со своим document root. Смотрите настройки для своего "встроенного сервера".
нужно при клике на чексбокс ajax-ом получить/фильтровать товар, который выводи этот файл Product.php1) Чекбоксы что у вас фильтруют?
не понимаю как в обработчике ajax запроса, взять эти данныеПлохо, значит пока еще слабо знаете свою предметную область. внизу вашего вопроса есть пример, эти данные там есть, что с ними делать зависит от того что нужно получить.
надо ли обращаться к этому файлу Product.phpВ представленном виде он бесполезен для вашей задачи, нужно писать метод получения списка из произвольных параметров. Потом сформировать из списка хтмл с готовыми блоками и отдать его (сделать echo) обратно. Только в аяксе надо будет заменить
dataType: 'html'
1. Делают ли так?Делают, но это не хорошая практика. Во первых имеете шанс затереть какие-то настроечные данные объекта и получить непредсказуемость поведения. Во вторых, если у вас там значения из бд или другого хранилища в формате ключ-значение, лучше хранить их в отдельном поле, том же дата, но в виде stdClass, чтобы не путать их при работе с хранилищем с остальными полями, например так:
public function setData(array $data):void{
$this->data = (object)$data;
}
на сервере site.ru/cp/admin.php, чтобы в браузере на самом деле отображалось site.ru/cp/panel (грубый пример).Для этого еще нужно обрабатывать скриптом, или писать отдельные правила серверу на каждый чих. То есть либо единая точка входа и роутер, либо жесткие правила в конфиге сервера.
$name = mysqli_real_escape_string($link,$_POST['name']);
$sql = "SELECT `product_id`, `calorie`
FROM `product`
WHERE `name_of_product` like'%{$name}%'
LIMIT 1";
$query = mysqli_query($link, $sql);
$data = mysqli_fetch_assoc($query);
ок, тут мы (возможно) получили ид и количество калорий от еды с названием которое пришло постом...пользователь вводит название продукта, который он употребил и ему выводиться сумма калорий за сутки.Как человек поверхностно знакомый с диетическим питанием, подозреваю что "я съел сыр" и "я сожрал 2 кило сыра" не всегда одно и то же. понимаете к чему я клоню?
На данном этапе создана база данных с продуктами и таблицей употребленных, в которой находится id юзера,id продукта и время.Чего-то не хватает, вам не кажется? Ладно, едем дальше...
if($data['Name_Of_Product'] === md5(md5($_POST['name']))) {...
итак, учитывая что никакой Name_Of_Product мы в запросе не просили выбрать, естественно что тут уже будет лажа, однако далее еще интереснее: md5(md5($_POST['name']))
, загадочные шаманские вуду пляски, видимо чтобы этот кусок кода внутри условия ТОЧНО никогда не выполнился. Вообще хотелось бы услышать, каким образом этот код пришел вам в голову и что он по вашему должен делать? Так, чисто понять как работает причудливый разум...mysqli_query($link, "INSERT INTO comsume (Id_p)VALUES ($data['Product_id'])");
...в которой находится id юзера,id продукта и время.но вносите вы почему то только ид продукта, кроме того, как я уже говорил - "чего то не хватает" )
Ну то есть не правильно же будет при каждом открытии данной страницы на сервере\клиенте всё считать?Почему, очень даже правильно, для этого и придуманы быстрые хранилища и SQL/noSLQ бд.
но что если у пользователя 10 000, 100 000, 1 000 000 транзакций? Как такие задачи решаются?Во первых, юзер все равно не получает все мульен транзакций в статистике за раз, получает постранично, а это вполне нормальные запросы по 50-100 записей за раз, что вполне себе быстро. Ну и всякие редко обновляющиеся и часто запрашиваемые данные хранят в кэше, дабы не дергать бд попусту.
идти в аналитику и смотреть что изменилось, а не измениться ничего, так как сервак не успеет посчитать всё.Это просто не знаю какой мертвый сервак должен быть, чтобы не успеть "посчитать" за время необходимое для прохода 1-2 экранов приложения.
parse_str(str_replace('/','&',$str), $output);
var_dump($output);
extract($output);
Учитывайте, что вываливая переменные из неизвестного источника в текущий контекст вы рискуете нарваться на подмену текущих переменных на левые значения, или, при использовании флага EXTR_SKIP, на неявное поведение. В идеале используйте массив, полученный при парсинге.