Re: Вивчаю базу даних MySql
Дякую хлопці дещо підправлю
наразі аналізував таймер із Canvas щоб застосувати у другій версії тесту
на сьогодні стаття "Реалізація годинникового таймеру із застосуванням бібліотеки jQuery та елементу HTML5 CANVAS"
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Бази даних → Статті → Вивчаю базу даних MySql
Сторінки Попередня 1 … 10 11 12 13 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
Дякую хлопці дещо підправлю
наразі аналізував таймер із Canvas щоб застосувати у другій версії тесту
на сьогодні стаття "Реалізація годинникового таймеру із застосуванням бібліотеки jQuery та елементу HTML5 CANVAS"
В продовження розгляду теми "English Word" тест за порадами зацікавлених форумчан ...
Для перегляду що з того вийшло створив окрему веб-сторінку Тест щодо вирішення питання спільнотою форуму. Реалізація тесту English Word
Що ж спитаю Вашої думки щодо реалізації ajax запиту до Php-обробника тесту "English Word" другий блок дещо вище вказаної структури
Коротко суть: В поле тесту потрібно генерувати HTML сторінку відповідно до алгоритму PHP обробника,
згенерувати можемо застосовуючи ajax метод
$(selector).load(URL,data,callback);
за слідуючою схемою:
- Якщо юзер активує кнопку "Розпочати тест", то формуємо ajax запит лиш з одним даним quiz=start
- коли відповідає на пари слів, може бути варіант правильна відповідність слів, то формуємо ajax запит даним quiz=correct
- коли відповідає на пари слів, може бути варіант неправильна відповідність слів, ajax запит з одним даним quiz=incorrect
- та коли час вийшов, маємо можливість відправити запит із диними quiz=finish
PHP-обробник отримавши відповідний $_POST['quiz'] формує відповідну HTML сторінку
- Побажання, пропозиції, зауваження, рекомендації спільноти щодо цієї частини кодування ???
Привіт сьогодні,
в мене часом складується таке враження від кількості реакцій на мої пости в даному топіку, що я розмовляю сам із собою,
як в тому мультфільму дитинства
"- А чи є у Вас план, містер Фікс?"
"- Звичайно є містер Фікс."
"- А чи правильно містер Фікс, склав запит?"
"- Так звичайно, містер Фікс, Ви правильно все зробили, містер Фікс..."
"- Та Ви чудовий містер Фікс... Містеру Фогу та Паспарту нізащо Вас зрозуміти..."
Доповнення 3.
Дещо обновив розробку тесту, на сьогодні вона виглядає поки що Реалізація тесту "English Word"
Є питання, більше дещо до виконання скрипту на стороні клієнту, суть слідуюча, особисто планував вставити скрипт бібліотеки JQuery у верхній HTML-документу, весь скрипт javascript та деякі елементи jQuery
планував заключити в метод ready. Тобто я собі так думаю весь скрипт повинен працювати коли документ готовий.
Але ж ні, він не працює, ну у всякому випадку CANVAS зникає.
Наразі в тілі документу веб-сторінки два скрипта, один зверху інший знизу, відразу після контейнеру CANVAS.
Питання хто знає: Чому не виходить помістити весь скрипт у тіло методу бібліотеки jQuery $( document ).ready(function() {?
<script>
$( document ).ready(function() {
....
});
</script>
частину скрипту повна версія того що я хотів би поставити зверху документу, а не всередині під CANVAS
Фух, дещо ознайомивсь із AJAX-ом, чесно не скажу що все зрозумів, чи повністю розібрався, але скажімо деяке поняття маю що це таке,..
наразі короткий бріф по AJAX "Організація інтерактивної сторінки; комплекс jQuery, AJAX, PHP, MySQLi. Частина друга"
Під час розробки нового дизайну власного сайту подружився із Базою Даних, досить приємний та хороший друг...
загалом, тема така, потрібно ....
Займаючись навчанням основ програмування на власному сайті та залишаючи нотатки у вигляді навчальних статей склалась така ситуація, що маю досить значну кількість статей і головна сторінка, де представлений короткий анонс статей перевантажена. В мережі Інтернет є варіант проектування головної сторінки, коли завантажуються лиш, скажімо, перші десять статей, а інші підвантажуються засобами асинхронного javascript - AJAX,- за умови, що відвідувач сайту дійшов до останнього/нижнього анонсу статті.
Навчальна стаття Дозавантаження статей із БД засобами AJAX
Демо
Не фільтрується вхідна $startFrom = $_POST['startFrom'];
Це SQL Inj
Дякую. Я навіть не подумав в напрямку вразливостей.
Тобто, скажімо досить буде для перевірки чи довжина повідомлення менше 3 символів та дані integer?
Адже ця змінна лиш показує номер контенту. Максимальне число 999 особисто такої кількості статей мені більш ніж вистачить.
Та ще по роботі даного скрипту,...
так як поки розбираюсь із AJAX-запитами, то додатково, вважаю, варто застосувати:
1. Індикатор дозавантаження контенту, - так як не видно виконується AJAX-запит чи ні.
Адже час запиту до ->1.Серверу PHP-обробника -> 2.До серверу БД ->3. PHP-обробника ->4. HTML-сторінки може бути різний.
А якщо ще й запит не оптимізований, то час ще більший може бути..
Ось наприклад, розмірковував над таким,... рахую кількість записів в таблиці:
// порахуємо кількість записів в таблиці
$res = $mysqli->query("SELECT count(id) as count
FROM Article_List;");
$row_count = $res->fetch_assoc();
$count_articles = $row_count["count"];
та вибираю контент із тієї ж таблиці
$result = $mysqli->query("SELECT *
FROM Article_List
LIMIT $startFrom,10");
можливо це можна виконувати одним SQL-запитом? І відповідно час повернення даних до користувача буде дещо менший ... але до аналізу даного питання ще не дійшов...
2. Виключити можливість мульти-AJAX-запиту. Я реалізував відправлення AJAX-запиту, за умовою, як лиш відвідувач досягнув кінця сторінки -> Поки користувач чекає відповіді із серверу, то ... сам особисто отримав 2 та більше однакових результуючих вибірок із БД, тобто виходить, що сторінка відправила два AJAX-запита чи скільки там до сервера ...
Для вирішення цього питання думаю застосувати ??? Прапорець (також прапор, позначка) (англ. flag) - Так? Є таке слово, і так коректно буде назвати змінну???
- Ідея яка?
1. Застосуємо прапор inprogress. Суть даного прапору буде слідуюча, якщо запит не виконується inprogress=false.
2. Якщо AJAX-запит виконується inprogress=true.
3. Додатково застосуємо умову під час відправлення AJAX-запиту на стан прапорця.
4. Все супер гуд повинно вийти...
Та добре ще дещо подумаю...
Хай всім сьогодні, планую розглянути ось таку тему:
"Обробка вхідних даних та збереження деяких конфіденційних даних в таблицях БД"
за такою схемою
наразі виникає ніби два питання:
1. Отримані дані варто санітаризувати від SQL ін'єкції
2. Отримані дані, такі наприклад як пароль, варто зашифрувати
Хто як на власній практиці вирішує це питання? Які шляхи є санітаризації вхідних даних?
Чи шифрує хто паролі чому так чому ні?
На що ще варто звернути увагу?
Ваша думка з цього приводу, я ж наразі пошукаю інфу в інтернеті, хто що з цього приводу каже, та наскільки сильно варто перейматись тим чи іншим питанням.
Забули веб-сервер. І протокол HTTPS - для конфіденційної інформації обов'язково!
А ін'єкція можлива на всіх рівнях, захищатися треба і від HTML/JS ін'єкції. Якщо ім'я користувача містить код, який переадресовує браузер на фішингову сторінку з проханням ввести пароль, то всі, хто зайшов на сторінку форуму з дописом користувача, побачать її.
Розглядаю функцію mysqli_real_escape_string()
Функція кодує спеціальні символи в формат даних що встановлений на сервері.
Спеціальні символи такі як:
Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
Питання 1. Кодуються лише ці спецсимволи?
Питання 2. А що це за спецсимвол "Control-Z"
Питання 3. Правильна інтерпритація?
- По черзі NUL (ASCII 0), він же \0 - позначає кінець рядка,
- \n - символ переводу рядка,
- \r - символ повернення каретки,
- \ - пустий слеш щось взагалі значить? чи його просто так кодують
- з символами ' , " - зрозуміло. Вони можуть змінити структуру SQL-запиту строкових даних, якщо наприклад так $item = "Zak's and Derick's Laptop";
Привіт всім сьогодні,
якось постійно складно було зрозуміти синтаксис по документації
- Як правильно читати синтаксис щодо документації елементів php та mysqli (чи як там воно правильно ідентифікується)?
от, візьмем для зразку функцію mysqli::commit :
поки розмірковую/аналізую синтаксис в мене відповідає наступній логіці:
та потім Як буде коректніше взагалі це питання розкрити
це у нас синтаксис чого? функцій/процедур/методів/елементів/інше
та в даному синтаксисі вказуються що? атрибути/параметри/змінні/інше
Так як наприклад ресурс w3schools вказує що PHP mysqli_commit() Function - це функція,
проте наразі я все ще переглядаю тему Обєктно-Орієнтоване програмування,- то як на мене докуменація php це метод класу mysqli
Нічого, що () — реальні символи, що з'являються в коді, а [] — метасимволи, присутні лише в описі синтаксису?
Привіт всім сьогодні,
якось постійно складно було зрозуміти синтаксис по документації
- Як правильно читати синтаксис щодо документації елементів php та mysqli (чи як там воно правильно ідентифікується)?от, візьмем для зразку функцію mysqli::commit :
поки розмірковую/аналізую синтаксис в мене відповідає наступній логіці:
та потім Як буде коректніше взагалі це питання розкрити
це у нас синтаксис чого? функцій/процедур/методів/елементів/інше
та в даному синтаксисі вказуються що? атрибути/параметри/змінні/іншеТак як наприклад ресурс w3schools вказує що PHP mysqli_commit() Function - це функція,
проте наразі я все ще переглядаю тему Обєктно-Орієнтоване програмування,- то як на мене докуменація php це метод класу mysqli
так, якщо по-простому (якщо я не помиляюся) - те що тут спочатку (bool) - це тип даних які функція повертає ,, і у різних документаціях, і часто до різних мов програмування - цей тип може бути і спочатку рядочку-пояснення, і наприкінці...
особисто мені набагато важче вчитати-зрозуміти документацію ерлангу, php-документація у порівнянні якась набагато легша для сприйняття-розуміння))
----
Нічого, що () — реальні символи, що з'являються в коді, а [] — метасимволи, присутні лише в описі синтаксису?
тобто?
чому "присутны лише у описі синтаксису" ?
давайте розберемо на прикладі ?
У даному випадку, квадратні дужки при виклику функції ніде не використовуються (інакше це викличе помилку) — ними просто позначається необов'язковість деяких параметрів. У коді, що описує функцію, квадратних дужок теж нема — необов'язковість параметрів забезпечується значенням за замовчуванням, що задається цим параметрам. Виходить, квадратні дужки є лише в документації, і їх має читати лише людина. Тоді як круглі дужки використовуються і при виклику функції, і при її описі. До речі, при виклику функцій без параметрів круглі дужки також потрібні (хоча ніякі атрибути в них тоді не вказуються).
агга, вище я вас трошки неправильно зрозумів))
справді, квадратних дужок у коді бути не повинно, а от параметри у них описані - можуть бути у коді при потребі, а можуть і ні)))
Привіт і сьогодні...
Інтро
М-г-м, як в одній із сучасних іграшок набрав квестів із програмування
Наприклад Квест 1 - Вивчаю англійську, поки буду розглядати пункти 4, 3, 2, то до першого довго прийдеться йти...
2 квест. Обєктно-орієнтовне програмування, велика за обємом тема, тому періодично інші теми розглядаю, слідуй пункт 4
3 квест. Все ще дещо вище (пару постів форума даного топіка ) згадану тему розглядаю ( тема Санітаризація вхідних даних... але зачепився за поняття обєкт, тому пункт 2.
та мало, для більш широкого підходу, ще вирішив розглядати основи php+mysqli 4 квест, зараз розглядаю функцію php free_result()
дещо детальніше, воно ніби й просто функція php free_result() очищує память від результатів результуючої вибірки даних із БД, все просто.
але як буває якщо розбираєш матеріал можна отримати і дещо дивні питання
Мій тест функції free_result() правда тест наразі ще до кінця не дописаний, тай помилку зараз видає, за що й хочу шановного панства спитати...
1. Яку таку память функція free_result чистить?
Помилково подумав, якщо на виконання php-скрипту виділяється, наприклад, додатково память, то після виконання функції free_result() розмір цієї памяті зменшується,... - Ну як таке взагалі подумати можна було??? Ну так, а я подумав. Що там скрипт по памяті бере? Я перевіряв застосовуючи memory_get_usage...
2. Поки тестував то я зрозумів, що з memory_get_usage я не в ту сторону копаю...
адже можна було здогадатись, якщо застосовувати функцію free_result() чи навіть можна правильно сказати метод free_result() класу mysqli_result
$db = new mysqli ("host", "user", "pass", "DB");
$query = "SELECT * FROM My_Тest";
$results = $db->query($query);
$results->free_result();
то видно, що метод виконується над обєктом $results, відповідно free_result() чистить чистить все що цей обєкт має... ох уж ця дитяча простота...
щоб протестувати роботу free_result() я вирішив переглянути що має обєкт до та після застосування free_result() за допомогою var_dump()
наприклад до застосування отримав щось на зразок
object(mysqli_result)#1 (5) {
["current_field"]=>
int(0)
["field_count"]=>
int(4)
["lengths"]=>
NULL
["num_rows"]=>
int(5)
["type"]=>
int(0)
}
Після отримав
Warning: var_dump() [function.var-dump]: Couldn't fetch mysqli_result in ...
Warning: var_dump() [function.var-dump]: Couldn't fetch mysqli_result in ...
Warning: var_dump() [function.var-dump]: Property access is not allowed yet in ...
Warning: var_dump() [function.var-dump]: Couldn't fetch mysqli_result in ...
Warning: var_dump() [function.var-dump]: Property access is not allowed yet in ...
object(mysqli_result)#1 (5) {
["current_field"]=>
NULL
["field_count"]=>
NULL
["lengths"]=>
NULL
["num_rows"]=>
NULL
["type"]=>
NULL
}
а хотів в другому питанні спитати, а що це за кучка Warning-ів, якщо результат var_dump() все ж вивів, але уважніше проаналізувавши результат var_dump() бачимо що в нас обєкт results має всі значення NULL.
По-перше, це буде відповідью, що ж все таки чистить функція free_result()
По-друге, var_dump() повинен вивести тип змінної, а поскільки типу в NULL немає, то відповідно й маємо Warning-и
Що ж, як кажуть грамотно складене питання має вже відповідь
Дякую що дочитали цей дліннющий пост
P.S. Я сподіваюсь, все ж правильно відповів на своє питання...