×

Вокруг мира Петербург и окрестностиТайны историифакты и мирСтрашное и мистическоепро сссртурциятунисОбщество, мирВыборгПоследние новостиКрым
Интересно МузыкаАнекдотыМистика и Гаданияуроки по html,css,js,php
Исскуство и поэзия Стихи Серебренного векаБасниПритчиМифы и Легенды древнего мираЯпонские стихи и прозаСтихи Золотого века
Разные эпохи Сказки народов мираСредневековьепро сссрТайны историиДревняя Азия
Разное ОригамиРаскраскиКомедия "Дино и его друзья"КонвертерыСтрашное и мистическое
общество и мир факты и мирПсихологияАфоризмы и цитатыОбщество, мирПоследние новости

-----------

Вашему сайту нужна помощь? Политика конфидициальности Разместить рекламу

Как вставить данные в базу данных (таблицу)?


sql, mysql, phpmyadmin, insert, php, html, js, java script, css, урок, данные, бд, база данных, вставить данные, отправить данные, таблицу, таблица, данных, текст, форма, формы,

Как не было бы обидно, но вводить данные в базу данных чуть тяжелее чем выводить.
Для ввода данных обычно используется форма с полями. Для этого в html даже создали специальный тег FORM.

Принцип работы прост.
1.Пользователь заходит на сайт, видит текстовое поле или несколько текстовых полей, которые располагаются в форме.
2.Вводит в них какой-то текст (комментарий, логин, имя, картинку, постик и т.д.).
3.Нажимает кнопку отправить (submit) и форма отправляется на 2-ю страницу на обработку запроса, а затем отправляется в базу данных.

Сперва нужно создать в базе данных таблицу, куда будем отправлять (вставлять) данные. Называться таблица будет message
id text name

В пустые ячейки мы будем вставлять данные.
id - номер строки
text - текст из поля textarea
name - текст из поля input

Создание формы
Тег form - переводиться с англ. яз. как ФОРМА. Как и было описано, в ней можно разместить маленькие поля input, кнопка отправки submit, большие текстовые поля textarea (нужны для ввода большого текста и форматирования на абзацы и отступы)
выглядеть форма в примере будет как-то так:

<form method="POST" action="post.php" > <!-- метод отправки данных post, страница, где вставим обработку запроса - post.php-->
<input name="ty" placeholder="как тебя зовут?"/><br /> <!-- тут гость будет вводить свое имя-->
<textarea name="te"cols="30" style="width:90%"required placeholder="место для комментария... " ></textarea> <!-- тут он введет сообщение-->
<input type = 'submit' name = 'submit' value= 'готово!' /> <!-- сюда он введет большое сообщение. Форматирование и абзацы сохранятся-->
</form>

Разберем пример формы.
Рядом с тегом FORM нужно прописать (method) метод отправки (есть только GET или POST).
get от post отличается лишь закрытостью и открытостью кода. В примере будет использоваться метод POST.
action - это страница, на которой мы разместим скрипт обработки запроса. Можно расположить его и в начале этой же странице, где расположена сама форма. В этом случае надо прописать название страницы. В ином случае нужно создать вторую страницу и прописать в action её название. В данном примере страница будет называться post.php.
input - это пол для ввода какого-то текста (вообще для небольшого, но максимальная длина не определена). Здесь же нужно присвоить полю уникальное имя (name).
placeholder - это подсказка для пользователя.
textarea - тоже поле для текста. Но его отличие в том, что в этом поле хранятся абзацы и длинные отступы в тексте.
submit - это ТИП кнопки или поля. Автоматически делает из поля или кнопки, кнопку-отправителя. value - для кнопки это название кнопки.
value можно использовать и в текстовых полях. Оно лишь автоматически заполняет поле написанным текстом.

Теперь нужно прописать сам скрипт обработки запроса.

<?php
$t = htmlspecialchars($_POST['te']);
$ty = htmlspecialchars($_POST['ty']);
//создаем переменные к именам полей, POST-ов из формы
$servername = "localhost";
$username = "root";// логин
$password = "";// пароль
$dbname = "games";// название вашей базы (не путать с названием таблицы)
// подключение к вашей базе данных
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Ошибка: " . mysqli_connect_error());
}
$sql =("INSERT INTO message (text, name) VALUES ('$t', '$ty')"); // запрос INSERT на ввод данных. Заметьте, что название переменных и полей должны идти строго по порядку.
mysqli_query($conn, $sql)){
echo "<font color='green'>Ваше сообщение добавлено в базу данных :)</font><br>"; // всё отлино. запрос отправлен
} else {
echo "Ошибка: Попробуй ещё раз" . mysqli_error($conn); // если нет, то пздц ребята....
}
mysqli_close($conn);
?>

Как видите, в начале создаем переменные. $_POST - означает, что переменная отправлена методом post, для метода get будет $_GET.
htmlspecialchars - простыми словами, эта штучка обрабатывает введенный текст из поля и ищет наличие простых вирусов.
Затем подключаемся к БД.
Затем создается текст для запроса. INSERT - значит ВСТАВИТЬ
В случае если всё вставится, то высветится соответствующее сообщение. В противном случае появится сообщение о том, что всё плохо.

В случае, если у вас возникнут проблемы с кодировкой и в таблице будет вставлен непонятный текст, то можно вставить в начале запроса следующие функции:
- header('Content-type: text/html; charset=windows-1251');
- и в самом запросе прописать iconv("UTF-8", "CP1251"
Опять же поэкспериментируйте с utf-8, cp-1251 - переставляйте их местами или же переставляйте местами сами функции header и iconv. Эти функции могут переконвертировать вашу кодировку в нормальную, но если это тоже не поможет, то обратитесь к моей статье про проблемы с кодировкой вот тутъ.
Вот пример того, как можно разместить header и iconv.

<?php
header("Content-type: text/html; charset=windows-1251");
//header
$t = htmlspecialchars($_POST['te']);
$ty = htmlspecialchars($_POST['ty']);
//header
header('Content-type: text/html; charset=windows-1251');
$servername = "localhost";
$username = "root";// логин
$password = "";// пароль
$dbname = "games";// название вашей базы (не путать с названием таблицы)
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Ошибка: " . mysqli_connect_error());
}
// iconv
$sql =iconv("UTF-8", "CP1251","INSERT INTO message (text, name) VALUES ('$t', '$ty')");
mysqli_query($conn, $sql)){
echo "<font color='green'>Ваше сообщение добавлено в базу данных :)</font><br>"; // всё отлично. запрос отправлен
} else {
echo "Ошибка: Попробуй ещё раз" . mysqli_error($conn);
}
mysqli_close($conn);
?>





Комментарии

  • hgfhf

    Ответить
  • ыыыыыыы

    Ответить
  • Комментарии к посту






    РЭКЕТОДРОМ — постсоветское государство.

    Смешной афоризм


    Norway
    КирклендПчелам запрещается летать по улицам города.

    [ Интересные факты о мире ]






    Проблема с кодировкой текста в html, php, js, mysql. РЕШЕНИЕ.
    Как вставить картинку на сайт и какое расширение лучше использовать?
    Последние новости Выборг Крым Тайны истории турция Страшное и мистическое Общество, мир факты и мир тунис про ссср Петербург и окрестности






    ×

    Рассказы из категории: Создание сайта (html,css,php,js)