sergekrivelevich, это потому что вы занимаетесь глупостями. Уже убедились, что "по ссылке" ничего посмотреть нельзя. Поэтому двигать файлы никуда не надо было. По крайней мере до тех пор, пока не научитесь с ними работать.
Чтобы называете словом "не передан"?
Если функцию addCourse() вызвать без одного из параметров, то РНР и так выдаст ошибку.
А если вызывать её, передавая элементы массива $_POST, то РНР будет сыпать Warning-ами при отсутствии нужного параметра
Проверять надо ДО её вызова.
Функция нормальная, только во-первых, она не должна кидать никаких исключений. Ну или хотя бы кидать своё собственное исключение.
А во-вторых, её можно сделать короче, с использованием array_diff()
Даже в 16 году это был отборный говнокод
Этот хауди хо - обычный самозванец, который никогда сам ни одной программы не написал, а только пытается зарабатывать на наивных дурачках, втюхивая им видео, на котором пересказывает то, что прочитал в интернете
Я понимаю, что вы хотите помочь.
Но перед тем как писать ответ, очень желательно прочесть сам вопрос, а не один только заголовок.
А в идеале ещё и обсуждение под вопросом.
tajfun_rt вы можете объяснить, хотя бы самому себе, зачем вам сдались эти "маркеры" на экране, если ни с ними, ни без них, этот текст вам на экране сам по себе не нужен и вы все равно делаете редирект?
Василий Банников, правильно, если упарываться. Но вопрос был не про то, какое слово правильнее. А про БД для веб-приложения. И ответ на него совершенно очевиден, сколько ни жонглируй словами.
Saboteur, во-первых, это не база, а свалка. Специализированный сервис для хранения мусора, который не может заменить БД, а только дополняет её - как и другие перечисленные выше.
Во-вторых, со времени появления Монги все базы данных научились хранить мусор самостоятельно, и надобность в отдельном сервисе отпала.
В-третьих, многие комментаторы действительно любят рассказывать, что "это просто неудачный кейс для монги" но при этом почему-то забывают привести пример "удачного кейса". Который, если всё-таки выдавить из них, сводится к специализированному хранилищу в дополнение к базе данных. Ну или к кейсу, который я описал в своём ответе.
Andrei SunnyPh кстати да, рекомендую прислушаться к замечанию выше. И заранее ограничить набор, сразу запланировав отдельную базу данных для учета всех этих "неограниченных свойств". Иначе потом у вас будет так, как рассказывал Дерик лет 15 назад про OpenStreetMap - в одном месте туалет обозначается как WC, в другом - wc, в третьем Wc, в четвёртом lavatory, в пятом toilet, в шестом toilets... И тогда набор станет действительно бесконечным.
В каком смысле "недоступны"? Некому прочитать документацию?
В любом случае, все перечисленные сервисы потому и называются дополнительными, что добавляются по мере необходимости и фактически нужны только под серьёзный объем данных и трафик.