Как сохранить введенные данные в форме?

Sav2907

Новичок
Здравствуйте. Например есть форма, я туда записал какие-то данные, как их записать в БД, чтобы при повторном запуске страницы, эти данные отображались в тех же формах?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Принять запрос на сервере от формы и записать. Потом при показе формы вывести
 

Sav2907

Новичок
Принять запрос на сервере от формы и записать. Потом при показе формы вывести
А написанием кода можете помочь?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>

<body>
<form>
<p>Форма 1<br><input name="forma 1" type="text" size="20"></p>
<p>Форма 1<br><input name="forma 1" type="text" size="20"></p>

</form>
</body>
</html>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Sav2907, нет, только помочь, если что не понятно.
 

Sav2907

Новичок
@Sav2907, нет, только помочь, если что не понятно.
Ну так помогите, вот форма добавления нового работника в БД, и файл обработки. Сделайте чтобы данные оставались в форме.
Спасибо.

Форма "Добавить нового работника"

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>

<body>

<?php
?>
<form action="mysql_insert.php" method="post" name="form">
<p>Введите имя нового работника:<br><input name="name" type="text" size="20" maxlength="40"></p>
<p>Введите фамилию:<br><input name="lastname" type="text" size="20" maxlength="40"></p>
<p>Введите должность:<br><input name="dol" type="text" size="20" maxlength="40"></p>
<p><input type="submit" name="submit" value="Добавить нового работника"></p>
</form>
</body>
</html>

mysql_insert.php


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>

<body>
<?php

if (isset($_POST['name']))
{
$name = $_POST['name'];
}

if (isset($_POST['lastname']))
{
$lastname = $_POST['lastname'];
}

if (isset($_POST['dol']))
{
$dol = $_POST['dol'];
}

$db = mysql_connect("localhost", "andrij", "12345");

mysql_select_db("firstbd", $db);

mysql_query("SET NAMES utf8");

$result = mysql_query ("INSERT INTO firma (name, lastname, dol) VALUES ('$name', '$lastname', '$dol')");

if ($result == 'true')
{
echo "Информация добавлена в базу успешно!";
}
else
{
echo "Информация не добавлена !";
}

?>
</body>
</html>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
И, дай угадаю, у тебя вставляются пустые данные?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Если бы ты читал книги, все было бы понятно. Если ты откроешь свой файл с обработчиком формы напрямую - у тебя будет ошибка. Потому, что у тебя в скрипте нет деления на POST и GET.

Смотришь сюда: http://php.net/manual/ru/reserved.variables.server.php там есть Request Method. Он показывает тебе что у тебя за запрос. Соответственно пишешь:

if($_SERVER['REQUEST_METHOD'] == 'POST') {
Тут пишешь обработку формы и заносишь данные в базу, как у тебя сейчас сделано.
В конце обработки делаешь редирект на свой файл с формой.
}

В файле формы перед ее выводом надо выбрать данные из базы и вывести в нужные поля.
 

Sav2907

Новичок
Если бы ты читал книги, все было бы понятно. Если ты откроешь свой файл с обработчиком формы напрямую - у тебя будет ошибка. Потому, что у тебя в скрипте нет деления на POST и GET.

Смотришь сюда: http://php.net/manual/ru/reserved.variables.server.php там есть Request Method. Он показывает тебе что у тебя за запрос. Соответственно пишешь:

if($_SERVER['REQUEST_METHOD'] == 'POST') {
Тут пишешь обработку формы и заносишь данные в базу, как у тебя сейчас сделано.
В конце обработки делаешь редирект на свой файл с формой.
}

В файле формы перед ее выводом надо выбрать данные из базы и вывести в нужные поля.
Когда открываю файл напрямую, никакой ошибки нет, просто пустая страница открывается.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Даже если включить ошибки? ;)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Sav2907, ок, я дальше спорить не буду, просто сделай как я сказал. Перебрось кусок кода что есть в условие и допиши вывод в файле с формой.

PS: Ты хочешь написать редактирование одной записи, или все таки у тебя там будет несколько сотрудников? Если несколько, то подход будет иной. Тебе надо будет как-то их идентифицировать, например по инкрементному ключу.
 
Сверху