DELETE FROM `comments`
WHERE `user_id` = :user_id
and `id` = :comment_id
У меня вот такой вопрос, как и где мне практиковать php?Как и все выучившие основы - пиши соц. сеть.
(например скрип авторизации и регистрации)Не бывает скрипов авторизации и регистрации. Есть система, компонентами которой будут авторизация и регистрация. В отрыве от общей схемы (архитектуры) эта работа будет абсолютно бесполезной. Да и сама регистрация и авторизация не является простейшим компонентом, а значит требует разбивки на более мелкие задачи - называется декомпозировать задачу (например, для начала надо продумать структуру таблиц в бд, где будут храниться пользователи, предусмотреть как их создавать, менять и удалять, а уже затем писать код, затем решить какие поля будут приходить с фронта, написать их там, как они будут проверяться на бэке, какие ошибки могут быть, что с ними делать и в конце как это сохранять).
Сейчас все работает криво. Не знаю как переписать скрипты? помогите разобраться!Код сам по себе "не айс"...
Но при наведении первый элемент скрывается, но второй не появляется. В чем проблема, можете объяснитьГде цсс, где разметка? Подозреваю что разметка рассчитана на более стандартные hide/show, а не на смену прозрачности (что само по себе дурацкое решение)...
$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);
... Ajax, как я понял, существует для передачи данных на сервер и обработки ответа от него.Важное уточнение - без перезагрузки страницы. То есть как раз поведение противоположное тому что вам надо.
Знаю, что можно сохранять их, например, в локальном хранилище или куках, но... Выглядит это не особо профессионально :D.Зависит от целей и задач передачи. Если данные чисто информационного характера, не влияющие на функционал серверной части, то хранение в куках или локалстораже оправдано (например некоторая кастомизация внешнего вида станиц на основе жс и переменных из локального хранилища). Защищенные данные обычно хранят на стороне сервера, например в сессии.
Значения из бд выводятся если вывести их 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... Если предполагалось выбрать формы, то все таки стоит вешать слушатель на субмит, а не на клик...
Если все работает, то зачем мне помещать код в эти функции? Можете привести пару примеров, в которых код не будет работать, если я не буду помещать его в эти функции?Не факт что на низкой скорости загрузки весь хтмл прогрузится к моменту загрузки скрипта и все элементы будут доступны. Кроме того - для улучшения загрузки скрипты стараются подгружать в самом низу дом дерева, то есть перед закрывающим боди тегом. Это ускоряет загрузку контента, не тратя времени на прогрузку скриптов.