Делаю тестовое задание - одностраничный сайт, где в первом блоке идет вывод информации, а во втором есть возможность ее добавления.
index.php реализована одной строчкой - include контроллер, который создает подключение с базой данных, берет от туда данный и подключает страничку view.php, где отрисовывается сама страница и через цикл выводятся карточки с данными.
Сам класс базы данных сделан с конструктором PDO и двумя методами: выборка из базы, добавление в базу.
Как правильно организовать второй блок, где осуществляется добавление товара? Пытался сделать все в единственном контроллере, который отрисовывает страницу, но тогда появляется бесконечный цикл рендеренга view.php. Создать экзмепляр класса бд в файле action.php, чтобы управлять данными из формы там тоже не получается, выдает ошибку, что отправленные значения null, хотя данные из формы читаются.
Может быть ошибка в самом методе добавления?
//////////// MODEL /////////
class Database
{
public $pdo;
function __construct (){
$host = '127.0.0.1';
$db = 'Hero';
$user = 'root';
$pass = '';
$charset = 'utf8';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$this->pdo = new PDO($dsn, $user, $pass, $opt);
}
public function getProfiles(){
return $this->pdo->query('SELECT * FROM `heros`');
}
public function addProfile($photo, $name, $role, $date){
$sql = "INSERT INTO heros (photo, name, role, date) VALUES (?,?,?,?)";
$stmt= $pdo->prepare($sql);
$stmt->execute([$photo, $name, $role, $currentDate]);
}
}
Все решил! Как обычно забыл указать $this перед дескриптором подключения и название переменной не совпадало с парметром
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Каждый наследник реализует метод getEntityType, и $hashBase у всех будет свойНо надо сделать так, чтобы при каждом вызове метода compareHash для каждого наследника...
Всем приветКак мы знаем, php по умолчанию хранит сессию в файлах, и осуществляет блокировку на этот файл сессии, при ее открытии
Есть такой код для фильтрации URLНо при каждом вводе данных срабатывает последный вариант
Название моего файла indexphp, мне надо сделать index