Фреймворк - старейший зендhttps://framework.zend.com/manual/2.1/en/modules/z...
И прописывать его не надо, потому что на русской версии не будет добавляться /ru.По уму - надо прописывать везде. Так и сео нормально работать будет и семантика в норме.
DELETE FROM `comments`
WHERE `user_id` = :user_id
and `id` = :comment_id
У меня вот такой вопрос, как и где мне практиковать php?Как и все выучившие основы - пиши соц. сеть.
(например скрип авторизации и регистрации)Не бывает скрипов авторизации и регистрации. Есть система, компонентами которой будут авторизация и регистрация. В отрыве от общей схемы (архитектуры) эта работа будет абсолютно бесполезной. Да и сама регистрация и авторизация не является простейшим компонентом, а значит требует разбивки на более мелкие задачи - называется декомпозировать задачу (например, для начала надо продумать структуру таблиц в бд, где будут храниться пользователи, предусмотреть как их создавать, менять и удалять, а уже затем писать код, затем решить какие поля будут приходить с фронта, написать их там, как они будут проверяться на бэке, какие ошибки могут быть, что с ними делать и в конце как это сохранять).
$id = $_GET['id'];
$_id = mysqli_real_escape_string($link, $id);
Ок, то что мы не умеем в подготовленные выражения вместо бредового "экранирования" пол беды, и даже не страшно что операцию так то можно в 1 строку прописать, но далее $name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
Ну типа, ид мы проверили, на этом наши полномочия все...Файл Update.php не выдает никаких ошибок после введения формы, но при этом данные не вносятся.
<?php
/* Вы должны включить отчёт об ошибках для mysqli, прежде чем пытаться установить соединение */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
/* Установите желаемую кодировку после установления соединения */
mysqli_set_charset($mysqli, 'utf8mb4');
printf("Успешно... %s\n", mysqli_get_host_info($mysqli));
После этого уже можно что-то смотреть, например что вернул print_r ($check);
... Значения из бд выводятся если вывести их print_rом но в нужных местах они не отображаются. echo data['price'] к примеру не отображается, title тожеЭто трындеж. Если выводятся через print_r, то и через ечо должны выводится.
Искал решение, почти везде писалось одно и тоже - нужно выставить кодировку при создании базы, нужно вставить команды в конфиг mysql и тому подобное. Всё это у меня стоит, но помогло ток одно решение, а именно - выставлять кодировку при подключение к бд.Кодировку абсолютно правильно сказано - надо выставлять везде, так как во первых при переносе или изменении конфигурации софта все съедет на дефолтные настройки, которые везде разные. По этому и есть конфиги и настроечные переменные. Единственно кодировку соединения лучше поставить utf8mb4, так как это более современный и обратно совместимый формат.
UTF-8, выставляю с помощью - header('Content-Type: text/html; charset=UTF-8');Это можно спокойно вынести в конфиг php.ini, или добавить более универсальный код, не требующий руками каждый раз заголовки править:
ini_set('default_charset', 'utf-8');
require_once 'controllers/authController.php';здесь отсутствует закрывающий тег пхп, после которого идет хтмл. Подозреваю что там и открывающего нет (в коде вы его не привели).
require 'templates/header.php';
ini_set('error_reporting',E_ALL);
ini_set('display_errors', 1);
session_start();
...
var forms = document.querySelectorAll(".form")Чет я не увидел в коде ни одного элемента с классом form... Если предполагалось выбрать формы, то все таки стоит вешать слушатель на субмит, а не на клик...
Как написать код один раз, чтоб он выводил все id на неё, в цене я просто как-то указывал, что вот тут такой-то id и он подставляет цену.Если вам нужны именно ВСЕ записи на одной странице - просто не указывайте условие по ид, тогда вам выдаст все что есть. Получаете список и в цикле while прогоняете ваш mysqli_fetch_assoc($product);. Другой вопрос что страница с условно 5000 наименованиями, мягко говоря не очень читабельна. Но это уже отдельный вопрос.
Но это не происходит,Все что "не происходит", "не работает", "работает не так" - термины уборщицы из туалета. Любое программное действие вызывает какой-то описываемый результат - ошибку (которую нужно привести дословно) или конкретное действие (которое тоже поддается описанию, например нужно А, но происходит Б).
По мне при вводе в текстовое поле должен быть GET запрос, и формируется $sql переменный и получаются данные.Скорее всего все так и происходит, только данные заговнячены, запрос гоняется 2 раза просто так, а с полученными данными все равно ничего не делается...