Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/51: Рейтинг темы: голосов - 51, средняя оценка - 4.69
3 / 3 / 1
Регистрация: 12.01.2010
Сообщений: 34

HTML+PHP+MySQL. Регистрационная форма с сохранением в БД

22.03.2012, 06:03. Показов 10802. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые программисты!
Не могу связать PHP c базой данных MySQl.

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

Так вот, используя различные источники(книги,Интернет) написал HTML форму, создал БД, а вот с PHP скриптом возникли проблемы...

Прошу просто посмотреть код и указать на возможные(фактические!!!) ошибки в коде.
Сама форма

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<head>
<title>Registration Form</title>
</head>
<body>
 
<form action = "script.php" method = "POST">
 
Фамилия<br><input type = "text" name = "last_name" placeholder = "Введите вашу фамилию "><br>
Имя<br><input type = "text" name = "first_name" placeholder = "Введите ваше имя "><br>
Отчество<br><input type = "text" name = "father_name" placeholder = "Введите ваше отчество "><br>
 
Email<br><input type = "text" name = "email" placeholder = "Введите e-mail "><br>
Дата рождения<br><input type = "text" name = "born_info" placeholder = "День/Месяц/Год "><br>
Место жительства<br><input type = "text" name = "country" placeholder = "Страна "> <input type = "text" name = "city" placeholder = "Город"><br>
 
<input type = "submit" value = "Зарегистрироваться">
<input type = "reset" value = "Очистить форму">
</form>
 
</body>
</html>
Скрипт обработчик
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
//////////////////////////////////////////// 
//Блок проверки правильности ввода данных///
////////////////////////////////////////////
$_POST['last_name'] = trim($_POST['last_name']);
$_POST['first_name'] = trim($_POST['first_name']);
$_POST['father_name'] = trim($_POST['father_name']);
$_POST['email'] = trim($_POST['email']);
$_POST['born_info'] = trim($_POST['born_info']);
$_POST['country'] = trim($_POST['country']);
$_POST['city'] = trim($_POST['city']);
//Проверяем, не пустой ли суперглобальный массив $_POST
if(empty($_POST['last_name'])) exit();
//проверяем, правильно ли заполены поля
if(empty($_POST['last_name'])) exit('Поле "Фамилия" не заполнено');
if(empty($_POST['first_name'])) exit('Поле "Имя" не заполнено');
if(empty($_POST['father_name'])) exit('Поле "Отчество" не заполнено');
if(empty($_POST['born_info'])) exit('Поле "Дата рождения" не заполнено');
if(empty($_POST['country'])) exit('Поле "Страна" не заполнено');
if(empty($_POST['city'])) exit('Поле "Город" не заполнено');
 
if (!empty($_POST['email']))
 {
    if(!preg_match("|^[-0-9a-z_]+@[-0-9a-z_+\.[a-z]{2,6}$|i",
    $_POST['email']))
    {
       exit('Поле "Email" должно соответствовать формату
       somebody@sonewhere.ru')'
       }
 
       
       }   
       
if (!get_magic_quotes_gpc())
{
$_POST['last_name'] = mysql_escape_string($_POST['last_name']);    
$_POST['first_name'] = mysql_escape_string($_POST['first_name']);
$_POST['father_name'] = mysql_escape_string($_POST['father_name']);
$_POST['email'] = mysql_escape_string($_POST['email']);
$_POST['born_info'] = mysql_escape_string($_POST['born_info']);
$_POST['country'] = mysql_escape_string($_POST['country']);
$_POST['city'] = mysql_escape_string($_POST['city']);
}
 
//устанавливаем соединение с базой данных 
require_once("config.php");
/////////////////////////////////////
/// Блок регистрации пользователя///
////////////////////////////////////
 
$query =  "INSERT INTO users
            VALUES('$_POST[last_name]',
                    '$_POST[first_name]',
                    '$_POST[father_name]',
                    '$_POST[email]',
                    '$_POST[born_info]',
                    '$POST[country]',
                    '$_POST[city]')";
 
if(mysql_query($query))
{
echo "<html><head>
<meta http-equiv='Refresh' content='0';url=$_SERVER[PHP_SELF]>
</head></html>";
} else exit("Ошибка при добавлении данных - ".mysql_erro());
 
?>
файл config.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
mysql_query ("SET NAMES 'cp1251'");
$dblocation = "localhost";
$dbuser = "root";
$dbpasswd = "1936";
$dbName = "registration";
// Таблица MySQL  в которой хранятся данные
$usertable = "users";
//cсоздать соединение
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
exit ("<P> В настоящий момент сервер базы данных не доступен, поэтому
корректное отображение страницы невозможною<P>");
}
else
{
echo "<P>Соединение установлено<P>";
}
 
?>


Заранее спасибо! Уже второй день мучаюсь=)
Миниатюры
HTML+PHP+MySQL. Регистрационная форма с сохранением в БД  
Вложения
Тип файла: rar laba5.rar (2.0 Кб, 201 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2012, 06:03
Ответы с готовыми решениями:

Регистрационная форма
Как сделать регистрационную форму с шифрованием пароля и внесения логинов и паролей в базу данных + чтобы не было одних и тех же логинов? Я...

не работает регистрационная форма
не заносит данные в БД ниже регистрационная форма &lt;?php include(&quot;inc/incfiles/header.inc.php&quot;); ?&gt; &lt;?php $reg=@$_POST; ...

Регистрационная форма из двух частей
Всем привет. Задача, чтобы логин+пасс падали в одну таблицу, остальное инфо падало в другую. Первая часть выполняется, вторая нет. ...

2
 Аватар для allukard
307 / 218 / 70
Регистрация: 08.11.2010
Сообщений: 1,899
22.03.2012, 07:15
Замени
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$query = mysql_query("INSERT INTO users (last_name,first_name,father_name,email,born_info,country,city)
            VALUES('$_POST[last_name]',
                    '$_POST[first_name]',
                    '$_POST[father_name]',
                    '$_POST[email]',
                    '$_POST[born_info]',
                    '$POST[country]',
                    '$_POST[city]')");
 
if($query)
{
echo "<html><head>
<meta http-equiv='Refresh' content='0';url=$_SERVER[PHP_SELF]>
</head></html>";
} else exit("Ошибка при добавлении данных - ".mysql_error());
PHP
1
} else exit("Ошибка при добавлении данных - ".mysql_error());
PHP
1
exit('Поле "Email" должно соответствовать формату somebody@sonewhere.ru');
PHP
1
    if(!preg_match("/^[0-9a-z_]+@[0-9a-z_^.]+\\.[a-z]{2,3}/",
Добавлено через 5 минут
Идентификатор в таблице имеется?
1
3 / 3 / 1
Регистрация: 12.01.2010
Сообщений: 34
22.03.2012, 20:38  [ТС]
Идентификатора нет. Спасибо сейчас буду пробовать

Добавлено через 23 минуты
Попробавал, к сожалению не работает....

Добавлено через 34 минуты
Макс, спасибо, за исправленные ошибки.

Все заработало, после добавления в config.php
PHP
1
2
3
4
5
if (!@mysql_select_db($dbName,$dbcnx))
{
  exit("<p>В настоящий момент база данных недоступна, поэтому корректное
отображение страницы невозможно.</p>");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2012, 20:38
Помогаю со студенческими работами здесь

Мне нужна регистрационная форма
привет у меня есть вопрос как сделать дату рождение в php мне нужна регистрационная форма день месяц и год но мне не нужно н пример...

Форма авторизации php+mysql
Добрый день. Подскажите пожалуйста. Проблема такая мне необходимо авторизоваться и перейти на страничку. Дак вот, создал я форму, ...

Форма регистрации PHP MYSQL
Всем привет, не могу понять, что не так, обычными словами не могу выразить одни матюки. Сразу по делу. Вот весь код...

Php форма редактирования данных mysql
при нажатии сохранить, выдаёт ошибку Notice: Undefined index: id in C:\xampp\htdocs\gg\edit.php on line 5. хотя id передаётся. уже часа 4...

HTML+PHP+форма. Нужен совет.
Есть обычная HTML форма, для добавления продукта. В ней есть много полей: название, описание, цена, количество и т.д. А также есть select...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru