Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/65: Рейтинг темы: голосов - 65, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52

База данных для зарегистрировавшихся

29.08.2012, 10:31. Показов 14037. Ответов 118
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я пока более-менее осилил HTML, а в остальном ПОЛНЫЙ НОЛЬ. Очень прошу помочь разобраться с процессом регистрации. Почитал темы здесь по этому вопросу, но оказалось недостаточно (например, эту и др.).
Ситуация: форму я и сам могу сделать (типа ФИО, email, пароль и т.п.), но куда это будет отправляться? Просто хотелось бы привязать форму к Access'у. Это возможно? С Дэнвером я так и не смог подружиться - у него какой-то конфликт с системой вышел. Единственное, что удалось, так это поставить MySql Server 5.5, хотя я даже не знаю, что с этим делать...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2012, 10:31
Ответы с готовыми решениями:

База данных для поисковика
Какую СУБД лучше использовать для поисковика?

База данных для автосайта
Всем привет! Стоит задача спроектировать БД для сайта по продаже автомобилей - сайт обьявлений о продаже авто. Нужно узнать: ...

База данных для интернет магазина
помогите нарисовать er диаграмму с таблицами которые будут в бд phpmyadmin, препод сказал больше 10 таблиц должно получиться

118
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 15:13  [ТС]
Студворк — интернет-сервис помощи студентам
Ну вот как-то так
Миниатюры
База данных для зарегистрировавшихся  
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
29.08.2012, 15:17
вот сверху базы данных , там создаш новую - любое название , она будет для тестирования скриптов . Далее в разделе пользователи создашь юзера "admin" и где помечается его права проставишь все .
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 15:19
Imperterritus, это оно и есть, просто тема другая. Теперь на вкладке базы данных создайте базу данных, сравнение - utf8_general_ci (выпадающий список рядом с именем БД при создании)

Добавлено через 1 минуту
затем, после того что вам сказал crautcher, вставляете код SQL на вкладке SQL что я выше приводил в регистрации и жмете ОК

Не по теме:

... а дальше вам скажут что делать :D

1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 15:30  [ТС]
KOPOJI,
crautcher,
Спасибо! Буду пробовать! Вы очень мне помогли!

Добавлено через 5 минут
crautcher, при создании админа ещё надо ввести хост. Я ввёл значение "host", это правильно?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
29.08.2012, 15:48
нет там надо localhost
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 20:13  [ТС]
упс, исправлюсь.

Добавлено через 4 часа 20 минут
Я решил всё-таки сделать форму регистрации в таблице. Как это изменит всё остальное?
И куда именно php-код вставлять? это отдельный файл, который надо как-то привязывать к html-странице или его прямо на странице втюхивать? и если да, то в какой его части?

HTML5
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
<form action=" " method="post">
<table width="500" border="2">
 
  <tr>
    <td width="242">email (впоследствии Ваш login)</td>
    <td width="240">
    <input type="email" name="email" size="40" />
    </td>
  </tr>
  <tr>
    <td>Фамилия</td>
    <td>
    <input type="text" name="name" maxlength="20" size="40" />
    </td>
  </tr>
  <tr>
    <td>Имя</td>
    <td>
    <input type="text" name="name" maxlength="15" size="40"/>
    </td>
  </tr>
  <tr>
    <td>Отчество</td>
    <td>
     <input type="text" name="name" maxlength="20" size="40"/>
    </td>
  </tr>
    <tr>
    <td>Ваш пол</td>
    <td>
    <input type="radio" name="sex" value="male"/>мужской
    <input type="radio" name="sex" value="female"/>женский
    </td>
  </tr> 
  <tr>
  <td>Пароль</td>
    <td>
    <input type="password" name="password1" size="40"/>
    </td>
  </tr>
  <tr>
    <td>Подтверждение пароля</td>
    <td>
    <input type="password" name="password2" size="40"/>
    </td>
  </tr>
  <tr>
    <td  colspan="2"><input type="submit" name="register" value="Регистрация"/></td>
 
  </tr>
</table>
Добавлено через 1 минуту
crautcher,
KOPOJI,
Очень надеюсь на Вашу помощь!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 21:14
Цитата Сообщение от Imperterritus Посмотреть сообщение
HTML5
1
<form action=" " method="post">
здесь либо убери пробел, либо убери вообще action либо
PHP
1
action="<?=$_SERVER['PHP_SELF'];?>"
Добавлено через 1 минуту
по вопросу: если вы хотите обрабатывать выполнение кода на этой же странице - то вставляете сюда этот код, если на другой странице обработчик хотите разместить - в action указываете путь к этому файлу

Добавлено через 25 секунд
P.S. файл с php-кодом должен быть с расширением .php (html-код также будет отображаться как и при расширении .html)

Добавлено через 2 минуты
php код вставляете в том месте где вы хотите видеть ошибки, или, если все нормально - то сообщение об успешном завершении регистрации

Добавлено через 1 минуту
только php-код заключайте в код проверки - нажимали ли кнопку вообще (в примере с кодом что я писал на второй странице, там это указано), иначе при первой загрузке формы ошибки полезут о необъявленных индексах)

Добавлено через 3 минуты
при отправке данных методом пост (<form method="post"), т.е. после нажатия клавиши формы (input с типом submit - или любой другой элемент на котором прописано submit()) - все данные формы находятся в суперглобальном массиве $_POST['имя_поля'] - где имя_поля - это имя инпута в форме (атрибут name). Только данные нужно проверять и очищать не забывать.
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 21:17  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
если вы хотите обрабатывать выполнение кода на этой же странице
А мне надо хотеть или нет?)))) Я просто не совсем себе представляю этот процесс. Задача у меня, чтоб человек на основной странице кликнул по ссылке на регистрацию, он перейдёт на другую страницу на которой у меня только логотип и навигационное меню. Ну и вышеуказанная форма, разумеется. Сейчас она у меня в формате HTML.
Куда девать тот код, который Вы давали?
PHP
1
2
3
<?php
if(isset($_POST['register'])) { //если нажата клавиша регистрация
...
Добавлено через 1 минуту
тааак, сейчас попробую переварить. с первого раза не очень-то осознал
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 21:21
все зависит от того, как ты хочешь обрабатывать. Можно и там, и там. я обычно размещаю в том же файле (через include, но можно и так). Т.е., смотри, к примеру у тебя есть таблица твоя. к примеру левый столбец - форма, в правом ты хочешь выдавать ошибку/сообщение об успехе.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<table>
<tr>
<td>первое поле формы</td>
<td rowspan="3">
<?php
if(isset($_POST['register'])) { //если нажата клавиша регистрация
#здесь код проверки
}
?>
</td>
</tr>
<tr>
<td>второе поле формы</td>
</tr>
<tr>
<td>третье поле формы</td>
</tr>
</table>
то есть именно в том месте где ты хочешь видеть какие то сообщения - там и вставляй этот php-код. абсолютно без разницы где (хоть вообще за пределами <html>...</html>) - хотя по спецификации, конечно желательно между <body> .. </body>
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 21:34  [ТС]
Если не совсем лень, можете посмотреть в приложенном архиве страничку reg.html? я там начал редактировать php-код... Не понимаю=((((
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 21:34  [ТС]
вот собственно архив
Вложения
Тип файла: rar ronlaw.rar (102.7 Кб, 9 просмотров)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 21:39
Imperterritus, невнимательно читаете.
Цитата Сообщение от KOPOJI Посмотреть сообщение
Добавлено через 25 секунд
P.S. файл с php-кодом должен быть с расширением .php (html-код также будет отображаться как и при расширении .html)
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 21:44  [ТС]
KOPOJI, я просто не знаю, как привязку этого php делать к HTML странице. А если Вы и говорили, то я так и не сообразил. Просто у меня php файлы только дримвьюер и открывает. Файрфокс и эксплоер плюются и фигню выдают
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 21:50
по коду. Инпута с именем login у вас нет - убрать.
Необязательное - фамилия по английски - surname, а family переводится как семья
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(isset($_POST['register'])) { //если нажата клавиша регистрация
$email = stripslashes(strip_tags(trim($_POST['email']))); #это есть
$family = stripslashes(strip_tags(trim($_POST['login']))); #этого поля нет, здесь походу family должно быть
$name = stripslashes(strip_tags(trim($_POST['name']))); #это есть
$father = stripslashes(strip_tags(trim($_POST['father']))); #это есть
$password1 = stripslashes(strip_tags(trim($_POST['password1']))); #это есть
#здесь все ок
if(empty($email) || empty($family) || empty($name) || empty($father) ||empty($password1) || empty($_POST['password2'])) 
echo 'Вы заполнили не все поля!';
  else { //не пустые, продолжаем
#а здесь они никогда не совпадут - у вас password2 поле называется
if($pass != $_POST['pass2']) echo 'Пароли не совпадают!';
   else {
$login = mysql_real_escape_string($login);#этой переменной нет
$name = mysql_real_escape_string($name);#эта есть
$email = mysql_real_escape_string($email);#эта есть
$pass = mysql_real_escape_string($pass);#этой переменной нет, у вас она называется $password1
#здесь тоже самое
$pass = md5('salt'.$pass.'salt'); //простенькая шифрация, такая же должна быть при авторизации перед запросом к БД
#в запросе далее тоже самое
Добавлено через 1 минуту
их нужно открывать через сервер, который вы установили. Насчет той штуки что вы установили - я не знаю где и что там, а вообще php-скрипты нужно скинуть в определенную папку в директорию с сервером, и затем открывать не двойным щелчком по файлу, а прописывая в браузере путь на подобие
Code
1
http://localhost/имя_папки/index.php
Добавлено через 2 минуты
покурите документацию к этому серверу что вы установили
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 22:04  [ТС]
У меня получился в итоге такой код:
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
<?php
if(isset($_POST['register'])) { //если нажата клавиша регистрация
$email = stripslashes(strip_tags(trim($_POST['email'])));
$family = stripslashes(strip_tags(trim($_POST['family'])));
$name = stripslashes(strip_tags(trim($_POST['name'])));
$father = stripslashes(strip_tags(trim($_POST['father'])));
$password1 = stripslashes(strip_tags(trim($_POST['password1'])));
if(empty($email) || empty($family) || empty($name) || empty($father) ||empty($password1) || empty($_POST['password2'])) 
echo 'Вы заполнили не все поля!';
  else { //не пустые, продолжаем
if($password1 != $_POST['password2']) echo 'Пароли не совпадают!';
   else {
$login = mysql_real_escape_string($email);
$family = mysql_real_escape_string($family);
$name = mysql_real_escape_string($name);
$father = mysql_real_escape_string($father);
$password1 = mysql_real_escape_string($password1);
$password1 = md5('salt'.$pass.'salt'); //простенькая шифрация, такая же должна быть при авторизации перед запросом к БД
#составляем запрос
$query = "INSERT INTO `users`(`email`,`family`,`name`,`father`,`password1`) VALUES($login,$family,$name,$father,$password1)";
echo (mysql_query($query)) ? 'Регистрация прошла успешно!' : 'Произошла ошибка при регистрации';
   }
  }
}
?>
Добавлено через 5 минут
Подправил вышеуказанный код

MySQL
1
2
3
4
5
6
7
8
9
CREATE TABLE IF NOT EXISTS `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`email` VARCHAR(100) NOT NULL,
`family` VARCHAR(100) NOT NULL,
`name` VARCHAR(100) NOT NULL,
`father` VARCHAR(100) NOT NULL,
`password1` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ;
Но мне выдается ошибка, когда жму ОК на локалхосте: "#1046 - No database selected"
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 22:18
ну уже почти хорошо. только заменить это
Цитата Сообщение от Imperterritus Посмотреть сообщение
PHP
1
$password1 = md5('salt'.$pass.'salt'); //простенькая шифрация, такая же должна быть при авторизации перед запросом к БД
на вот это
PHP
1
$password1 = md5('salt'.$password1.'salt'); //простенькая шифрация, такая же должна быть при авторизации перед запросом к БД
и вот это
Цитата Сообщение от Imperterritus Посмотреть сообщение
PHP
1
$query = "INSERT INTO `users`(`email`,`family`,`name`,`father`,`password1`) VALUES($login,$family,$name,$father,$password1)";
на вот это
PHP
1
$query = "INSERT INTO `users`(`email`,`family`,`name`,`father`,`password1`) VALUES('$login','$family','$name','$father','$password1')";
а потом можно заняться исправлением моей лени

Добавлено через 1 минуту
Цитата Сообщение от Imperterritus Посмотреть сообщение
Не мне выдается ошибка, гогда жму ОК: "#1046 - No database selected"
это надо выбрать сначала ту базу данных, что ты создавал (слева выпадающий список, там выбери)

Добавлено через 5 минут
Исправление лени:
сразу после вот этого
Цитата Сообщение от Imperterritus Посмотреть сообщение
PHP
1
2
if($password1 != $_POST['password2']) echo 'Пароли не совпадают!';
   else {
дописываем вот эти три строчки
PHP
1
2
3
mysql_connect('localhost','юзер','пароль'); # юзер и пароль - те что ты в начале указывал
mysql_select_db('имя'); # имя твоей базы данных, что ты создавал
mysql_set_charset('utf8'); # это кодировка, так и оставляешь эту строчку, не меняя
Добавлено через 3 минуты
и вот эти строчки
Цитата Сообщение от Imperterritus Посмотреть сообщение
PHP
1
2
3
#составляем запрос
$query = "INSERT INTO `users`(`email`,`family`,`name`,`father`,`password1`) VALUES($login,$family,$name,$father,$password1)";
echo (mysql_query($query)) ? 'Регистрация прошла успешно!' : 'Произошла ошибка при регистрации';
меняешь на такие:
PHP
1
2
3
4
5
6
7
8
9
#составляем запрос
$res = mysql_query("SELECT count(*) FROM `users` WHERE `email`='$email' ");
if($res && mysql_affected_rows($res)) 
$data = mysql_fetch_array($res,MYSQL_NUM);
if(!empty($data[0])) echo 'Вы уже зарегистрировались!';
else {
$query = "INSERT INTO `users`(`email`,`family`,`name`,`father`,`password1`) VALUES('$login','$family','$name','$father','$password1')";
echo (mysql_query($query)) ? 'Регистрация прошла успешно!' : 'Произошла ошибка при регистрации';
}
Добавлено через 3 минуты
Если у тебя все получится - то поздравляю, несложная регистрация готова
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
29.08.2012, 23:38  [ТС]
Эх, так не получается=( С моими знаниями слишком тяжело на форуме взять и разобраться...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.08.2012, 23:59
что именно не получается?

Добавлено через 25 секунд

Не по теме:

знания придут, если не забросишь. Москва тоже не сразу строилась

0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 09:28  [ТС]
KOPOJI, я так и не смог разыскать, где лежит локал хост, так что мне никак не увидеть, как работает форма. я давно скачал видеоуроки по php "ThinkVitamin". Но никак не брался, потому что там всё по-английски. В целом мой уровень позволяет смотреть фильмы англосаксов, но тут специфическая лексика. Буду сегодня смотреть и бездумно повторять то, что показывает чувак. Заодно он там и про аутентификацию расскажет. Мне же нужно, чтоб у зарегистрированных было больше прав (чтоб им более полная информация предоставлялась). Просто там парниша как раз на phpmyadmin'е рассказывает и показывает. Вчера вечером включил и не понял, чтоб он там творил с паролем. у него какой-то salt ещё взялся. Он там что-то жмёт, а пароль сам генерится каким-то невероятным образом... жесть=)))
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 09:46
раз хотите по видеокурсам - качайте уроки от специалиста.

Добавлено через 12 минут
Imperterritus, может быть это вам поможет http://www.ampps.com/wiki/Adding_a_Domain

Добавлено через 1 минуту
Цитата Сообщение от Imperterritus Посмотреть сообщение
найди папку ampps, в ней создай папку site, в нее закинь свой код (назови его index.php) и в браузере набери путь
http://localhost/ampps/site/index.php

Добавлено через 1 минуту
может получится..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2012, 09:46
Помогаю со студенческими работами здесь

База данных для зарегистрировавшихся пользователей без SQL
Здравствуйте, пытаюсь написать сайт на html, css, js. Базы данных на php нам запрещено использовать, а нужно, чтобы на сайте могли...

База данных для телефонной станции ( С условием сортировки данных )
Здравствуйте! Нужно создать программку на Delphi &quot;База данных для телефонной станции ( С условием сортировки данных )&quot; Также большая...

База данных, основанная на службах vs База данных SQL Server
Доброго времени суток. Делал я, значит, Data Access Layer для ASP.NET MVC проекта. Создал обычную библиотеку классов, моделей туда...

Как правильно спроектировать база данных для Учет товаров для маленький фирмы
Привет всем.. Мне надо создать простую базу что пользователью было легко работать как в эксель но через сеть Из сети нашел Excel файл...

База данных для игры
всем привет! я в делфи новичок! хочу написать прогу для некой игры! в идее в ней будет *БД персов с игры *БД аккаунта *база...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru