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

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

29.08.2012, 10:31. Показов 14484. Ответов 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 / 6725 / 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 / 6725 / 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 / 6725 / 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 / 6725 / 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 / 6725 / 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 / 6725 / 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 / 6725 / 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 / 6725 / 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
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru