Это такой простой способ.Способ нормальный, просто к искусственному интелекту это относится так же как табличка экселя с 2 формулами - то есть никак. Тупо статистика в самом примитивном виде.
Мне просто интересно, а можно сделать это как то лучше?Конечно можно, просто понадобится непропорционально больше усилий на получение незначительного улучшения, например еще учитывать длительность просмотра того или иного жанра, активность типа коментариев, лайков, рейтингования и прочие мелочи. Короче, для одного небольшого сайта практически нерентабельно, другое дело объемы ютуба, там все это работает и приносит лишнюю копеечку.
Если мы каждую секунду будем закидывать в бд какие то данные, а если пользователей будет много, допустим 1000 и более, не скажется ли это на производительности и как лучше в таком случае вообще собирать такие данные?Нет, если пользователей будет 1000, а кино в среднем около часа, то активность в плане записи в бд будет околонулевая, за 60 минут ~1000 действий, что примерно равно 1 действие в 3 секунды. Даже если активность будет в 10 раз больше, а пользователей тоже в 10 раз больше - активность в итоге будет около 100 действий за 3 секунды, или 30-40 действий в секунду, для нормальной структуры бд это вообще не нагрузка.
ini_set('error_reporting',E_ALL);
ini_set('display_errors', 1);
Претензий к его работе нет, все довольны и счастливы, но делалась в спешке,...
и теперь хочется проверить его "качественность".
если в html формах, js ajax их нельзя отправитьКроме хтмл и жс существует еще очень много окружений, способных отправить такие заголовки (самый простой пример - пхп или консольный курл). Чаще всего их (заголовки) используют для семантического разделения API "по намерению", то есть "удалить", "положить", "взять", "только заголовки" и т.д, в частности это применимо в рестфул апи.
хранение книг, которые вы прочитали/купили;Допустим хранить эти данные дольше чем открыт браузер? Или привязывать такие списки к пользователю? И как-то хранить пользователей... И еще миллион всякого, понятно что на уровне "задача в 3 действия" все решается 2 массивами, но на уровне реального приложения работы в тысячу раз больше.
...
Я просто создал массивы и подмассивы с необходимыми данными и всё. Что ещё нужно добавить?
Ну грубо говоря, захожу на сайт, мне генерируется кука. Например, ее значение такое id_407-1640605007.
Проверяю в инспекторе (chrome dev tools, инструменты разработчика мозилла). Там, (мозилла - инструменты разработчика - "хранилище" - просмотр всех кук), показывается такая же кука.
Заполняю форму.
Отправляю.
Смотрю почту.Что логично, вы же ее не из формы взяли...
Приходит письмо. Мои данные все такие, как в форме при заполнении.
Значение куки - совсем другое. Совсем.
Не понимаю почему так.По тому что важно проверять значения перед отправкой. Для этого и есть var_dump();
$scrsList = explode('|||',$poster['images']);
var_dump($scrsList); //смотрим что у нас попало в $scrsList, должен быть массив строк
...
foreach ($scrsList[1] as $scr){ //почему $scrsList[1]??? Это же первый элемент, там строка лежит!
...
$poster_temp = explode("/",$scr); // откуда косая? У вас же там "|" ?