Следует понимать, что РНР и Opencart - это разные вещи.
РНР это язык.
Opencart - программа, которая на нем написана.
Чтобы пользоваться программой, знать язык, на котором она написана, не нужно. Нужно знать программу.
Чем крупнее контора, тем сильнее тенденция к разделению ролей разработчиков. В Баду, например, есть бэкенд программисты для бэкенд программистов.
В голозадом фрилансе тебе разумеется придется быть и швецом, и жнецом, и надудеть, и грецом.
В нормальную среднего размера контору никогда не проблема наняться удаленным разработчиком на бэкенд. или принять их предложение переехать. Впрочем, последнее маловероятно, раз ты ищешь чего полегче.
Первый вариант вполне годится. Особенно для проверки пароля, при которой рекомендуется не писать подробные ошибки "вы не ввели это, вы не ввели то", а писат ьвсегда одну, "Введенные логин и пароль не распознаны." Всё.
Второй вариант годится, но надо обязательно кидать свой класс исключения, и ловить толкьо его. Чтобы не словить ошибку БД.
HTTP_REFERER никогда не должен использоваться в механике сайта.
Проще всего обрабатывать все формы на том же адресе, на котором они показываются.
Если это сложно, то записывать урл возврата в скрытое поле формы
1. В НТТР нет файлов.
2. Наличие Content-Length не гарантируется.
3. Размер файла должно отдавать специально обученное API. А за такое варварство надо руки отрывать
Разумеется, "стандартными функциями" будет дольше и не эффективнее.
поэтому единственным правильным решением будет $seconds = daytime2seconds("17:50");
Социальная сеть для программистов! Социальная сеть для программистов! Социальная сеть для программистов! Социальная сеть для программистов! Социальная сеть для программистов!
пропуски в подсчетах. (пока ты в скрипте прибавлял, там уже двое прибавили, а ты обратно только +1 перезаписал)
избыточный код.
отсутствие информации об ошибках.
Дублирование кода.
Попробуем решить эти проблемы.
$sql = "UPDATE post SET counter=counter+1 WHERE id=?";
$pdo->prepare->($sql)->execute([$id]);
$stm = $pdo->prepare("SELECT counter FROM post WHERE id=1");
$stm->execute([$id]);
echo $stm->fetchColumn()