×

Вокруг мира Тайны историитунисСтрашное и мистическоеВыборгпро сссрПетербург и окрестностиКрымфакты и мирОбщество, миртурцияПоследние новости
Интересно АнекдотыМузыкауроки по 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
    РиверсайдЗапрещается носить обед по улице с 11 часов утра до часу дня.

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






    Почему на моем сайте есть реклама, хотя я ее не ставил?
    Данные не загружаются (импортируются) в базу данных или импортируются долго. Что делать?
    Тайны истории про ссср Петербург и окрестности турция Последние новости Общество, мир Выборг факты и мир Крым тунис Страшное и мистическое






    ×

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