$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 раза просто так, а с полученными данными все равно ничего не делается...
Но вот правильно срезать до формата день-месяц и посчитать тоже само не получается.Естественно, даты они такие... Особенно интересно все будет выглядеть в вашем варианте где-то в районе декабря, когда дата дня рождения окажется вообще меньше текущей на год, а по факту еще остается пару дней.
Между полными датами с помощью date_diff получается все посчитатьЧто логично, единственное что не понятно - зачем считать обрезанные даты?
is_dir(__DIR__.'/img')
и можно ли туда писать is_writable()function articlesAdd(array $fields) : bool {
$sql = "INSERT INTO articles ('titel', 'content') VALUES (:titel, :content)";
var_dump([$fields,$sql]);exit();
dbQuery($sql, $fields);
return true;
}
var_dump($_FILES); exit(); //проверяем есть ли вообще файл, и что там с ним происходит
if ($_FILES && $_FILES['filename']['error'] == UPLOAD_ERR_OK) { //где else к этому ифу???
// по уму надо отдельно проверять $_FILES['filename']['error'], так как скорее всего лажа где-то в нем
// вангую что размер upload_max_filesize или max_post_size слишком мал
if (isset($_POST['authorname'] ) && isset($_POST['songname'])) { //здесь больше подходит !empty,
//и надо бы как-то проверить подходят ли поля под стандарты, длина, символы левые...
// дальше в принципе нет смысла пояснять, так как первый if скорее всего тупо не работает
$file_type = $_FILES['filename']['type'];
$maxsize = 10485760;
if ($_FILES['filename']['size'] >= $maxsize) {
$log = "Max file size is 10mb";
} else {
$hash = "";
$string = $_FILES['filename']['name']; // song_name.mp3
$songname = str_replace('.mp3', '', $string); //song_name
$song_name = str_replace('_', ' ', $songname); // song name
$name = str_replace(' ', '%20', $string); // song%20name
move_uploaded_file($_FILES['filename']['tmp_name'], "song/$songname.mp3");
$size = round($_FILES['filename']['size'] / 1024 / 1024, 2);
$song = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."song/";
$cur = str_replace('upload.php', '', $song) . $name;
$query = $db->prepare("INSERT INTO songs (name, authorID, authorName, size, download, hash)
VALUES (:name, '9', :author, :size, :download, :hash)");
$query->execute([':name' => $song_name, ':download' => $cur, ':author' => "", ':size' => $size, ':hash' => $hash]);
$log = "Success! ID: <b>". $db->lastInsertId() ."</b>";
}
} else {
$log = "Provide a song name and an author name.";
}
}