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

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

29.08.2012, 10:31. Показов 14029. Ответов 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
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 11:03
Студворк — интернет-сервис помощи студентам
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
<?php ob_start(); #начало скрипта, до любых символов, даже пробелов
session_start();
if(isset($_GET['exit'])) { #если нажали кнопку выход, уничтожаем сессии
session_destroy();
header('Location: '.$_SERVER['PHP_SELF']); # и сразу редирект на себя, чтобы увидеть результат)
} ?>
....
<?php if(!isset($_SESSION['login']) || empty($_SESSION['login'])) { #если сессия не установлена или пустая, отображаем форму авторизации 
?>
<form method="post">
Login (e-mail): <input type="email" name="login" />
Password: <input type="password" name="password" />
<input type="submit" name="enter" value="Войти" />
</form>
<?php
}
else { #сессия установлена, отображаем приветствие
echo 'Вы вошли как <b style="color:blue;">', $_SESSION['login'], '</b><br />
<a href="?exit">Выйти</a>';
}
?>
....
<?php
if(isset($_POST['enter'])) {
$login = strip_tags(trim($_POST['login']));
$password = strip_tags(trim($_POST['password']));
if(empty($login) || empty($password)) echo 'Вы заполнили не все поля!';
else {
if(get_magic_quotes_gpc()) {
$login = stripslashes($login);
$password = stripslashes($password);
}
$login = mysql_real_escape_string($login);
$password = mysql_real_escape_string($password);
$password = md5('salt'.$password.'salt'); #шифруем, шифр должен быть такой же, как при регистрации
$query = "SELECT count(*) FROM `users` WHERE `email`='$login' AND `password`='$password'";
$res = mysql_query($query);
if($res) {
$data = mysql_fetch_array($res,MYSQL_NUM);
if(empty($data[0])) echo 'Пользователь с таким логином/паролем не найден';
else { //нашли, все успешно, авторизуем
if($_SESSION['login'] = $login) #ставим сессию
header('Location: '.$_SERVER['PHP_SELF']); # и делаем редирект на себя, чтобы увидеть результат
else echo 'Произошла ошибка при авторизации. Пожалуйста, попробуйте позднее.';
}
}
}
}
?>
1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 11:15  [ТС]
KOPOJI, это произведение искусства! сейчас буду пробовать, как работает...=)

Добавлено через 3 минуты
Так. есть вопросы:
1) что означают многоточия?
2) как тут отразилось, что email это и есть login?
3) у меня поле "password1", а здесь просто "password". это имеет значение?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 11:18

Не по теме:

Цитата Сообщение от Imperterritus Посмотреть сообщение
KOPOJI, это произведение искусства
я бы так не сказал :D



Добавлено через 2 минуты
Цитата Сообщение от Imperterritus Посмотреть сообщение
Так. есть вопросы:
1. вместо многоточий свой код вставляете (всякие <!DOCTYPE HTML>, <html> и т.д.)
2. никак в принципе)
3. замените здесь на свои названия полей соответственно (внутри $_POST['....'] - вместо многоточия)
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
2
$login = strip_tags(trim($_POST['login'])); # вот здесь вместо $_POST['login'] пишете $_POST['имя_поля_формы_с_мылом']
$password = strip_tags(trim($_POST['password']));
#аналогичные изменения
а остальное не трогайте (названия переменных не меняйте)
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 11:34  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
HTML5
1
Password: <input type="password" name="password" />
а тут надо изменить значение name на "password1"?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 11:36
в $_POST должны быть названия полей формы, одинаковые, такие же как написаны в самой форме!
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 12:29  [ТС]
Без боя не сдастся наш гордый "Варяг"!
Я тут прикреплю архив с двумя страницами. С reg.php, вроде всё нормально, а вот с index.php, которую сейчас как и начал делать, фигня какая-то=(
При вводе уже зарегистрированного пользователя (его данные в базе уже есть), пишет, что не все поля заполнены! хотя их там всего 2!!!
Вложения
Тип файла: rar www.rar (105.3 Кб, 13 просмотров)
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 12:31  [ТС]
Если есть у кого-то возможность посмотреть через свой лок сервер, попробуйте, пожалуйста. База у меня называется просто base
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 12:32
Цитата Сообщение от KOPOJI Посмотреть сообщение
в $_POST должны быть названия полей формы, одинаковые, такие же как написаны в самой форме!
...
HTML5
1
2
3
4
5
6
<tr>
    <td width="57">email</td>
    <td width="115">
    <input type="email" name="login" size="20" />
    </td>
</tr>
PHP
1
$login = strip_tags(trim($_POST['email']));
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 12:38  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
1
PHP
1
$login = strip_tags(trim($_POST['email']));
email на login заменить?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 12:40
да, я вам об этом уже дважды писал..
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 12:48  [ТС]
KOPOJI, я просто не сразу понял (а просто не приходило в голову, так как не знаю ещё на что тут следует обращать внимание), что есть что. в плане "тип" и "название" поля... Извините, что туплю...

Добавлено через 6 минут
Ну если это единственная ошибка,то можно идти дальше?
У меня две страницы: index.php и reg.php. Захожу на index.php. если это первый раз, но жму кнопку "Регистрация". Перехожу на reg.php. Там ввожу данные и регистрируюсь. Согласно Вашему коду, я автоматически и залогиниваюсь? или надо вернутся на главную и там ввести логин (мэйл) и пароль? И как можно сделать страницу так, чтоб после нажатия submit появлялась помимо прочего ссылка из серии "вернуться на главную"?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 12:53
1. нужно вернуться на главную и залогиниться.
2.
PHP
1
2
3
4
5
if(isset($_POST['register'])) { //или enter, где вам там надо.
echo '<a href="index.php">Вернуться на главную</a>';
#дальше весь остальной код
....
}
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 13:07  [ТС]
KOPOJI, код, как ни странно, у меня получилось вставить туда, куда нужно))))

Теперь как сделать так, чтоб при входе на сайт (с index.php) пропадала форма входа и где-нибудь появлялось "вы вошли как ..." (... - это, например, name из базы).
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 13:36
это уже есть там
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php if(!isset($_SESSION['login']) || empty($_SESSION['login'])) { #если сессия не установлена или пустая, отображаем форму авторизации 
?>
<form method="post">
Login (e-mail): <input type="email" name="login" />
Password: <input type="password" name="password" />
<input type="submit" name="enter" value="Войти" />
</form>
<?php
}
else { #сессия установлена, отображаем приветствие
echo 'Вы вошли как <b style="color:blue;">', $_SESSION['login'], '</b><br />
<a href="?exit">Выйти</a>';
}
?>
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 13:59  [ТС]
не работает...

Добавлено через 5 минут
PHP
1
$query = "SELECT count(*) FROM `users` WHERE `email`='$login' AND `password`='$password'";
Эта строчка без изменений остаётся?
и ещё вопрос: я просмотрел код, но так и не увидел, где хоть какая-то ссылка на нашу базу. С ней есть связь вообще?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 14:04
я забыл об этом написать, сорри))

Добавлено через 2 минуты
после вот этого
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
2
3
4
if(get_magic_quotes_gpc()) {
$login = stripslashes($login);
$password = stripslashes($password);
}
допиши
PHP
1
2
3
mysql_connect('localhost','имя пользователя','пароль пользователя'); #твои имя пользователя и пароль БД
mysql_select_db('имя базы данных'); #твоя база
mysql_set_charset('utf8'); #кодировка, оставляешь без изменений
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 14:26  [ТС]
KOPOJI, вписал в код эту штуку, всё добавил (сверился, чтоб былщ также, как и в reg.php - там же работает всё), но всё равно форма входа просто обнуляется, после нажатия кнопки=(

Можете всё-таки проверить код на всякие password1, а не просто password... мне кажется, в этом проблема
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
<?php
if(isset($_POST['enter'])) {
$login = strip_tags(trim($_POST['login']));
$password = strip_tags(trim($_POST['password1']));
if(empty($login) || empty($password)) echo 'Вы заполнили не все поля!';
else {
if(get_magic_quotes_gpc()) {
$login = stripslashes($login);
$password = stripslashes($password);
}
mysql_connect('localhost','admin','50cent'); #твои имя пользователя и пароль БД
mysql_select_db('base'); #твоя база
mysql_set_charset('utf8'); #кодировка, оставляешь без изменений
$login = mysql_real_escape_string($login);
$password = mysql_real_escape_string($password);
$password = md5('salt'.$password.'salt'); #шифруем, шифр должен быть такой же, как при регистрации
$query = "SELECT count(*) FROM `users` WHERE `email`='$login' AND `password`='$password'";
$res = mysql_query($query);
if($res) {
$data = mysql_fetch_array($res,MYSQL_NUM);
if(empty($data[0])) echo 'Пользователь с таким логином/паролем не найден';
else { //нашли, все успешно, авторизуем
if($_SESSION['login'] = $login) #ставим сессию
header('Location: '.$_SERVER['PHP_SELF']); # и делаем редирект на себя, чтобы увидеть результат
else echo 'Произошла ошибка при авторизации. Пожалуйста, попробуйте позднее.';
}
}
}
}
?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 14:33
форму свою покажи
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 52
30.08.2012, 14:41  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
<table width="190" border="2">
 
  <tr>
    <td width="57">email</td>
    <td width="115">
    <input type="email" name="login" size="20" />
    </td>
  </tr>
  <tr>
  <td>Пароль</td>
    <td>
    <input type="password" name="password1" size="20"/>
    </td>
  </tr>
  <tr>
    <td>
    <input type="submit" name="enter" value="Войти" />
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 14:55
Цитата Сообщение от Imperterritus Посмотреть сообщение
Можете всё-таки проверить код на всякие password1, а не просто password... мне кажется, в этом проблема
именно в этом. но не в моем коде, а в вашем. в самой таблице
Цитата Сообщение от Imperterritus Посмотреть сообщение
SQL
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 ;
поле password1 переименуй в password

либо здесь
Цитата Сообщение от Imperterritus Посмотреть сообщение
PHP
1
$query = "SELECT count(*) FROM `users` WHERE `email`='$login' AND `password`='$password'";
замени `password` на `password1`

Добавлено через 3 минуты

Не по теме:

а все решилось бы гораздо раньше, если бы вы скопировали данный вам код аккуратно, последовательно заменяя по надобности ВЕЗДЕ одинаковые названия на ваши. Это делается так:
1. Берется код что вам дали.
2. Смотрите - допустим в трех местах написано pass1, вы хотите сделать pass.
3. Берете код и ВЕЗДЕ заменяете pass1 на pass, не трогая больше ничего.
4. Аналогично заменяете все что хотели, спокойно и не торопясь.
5. Радуетесь что смогли так удачно все изменить
Неужели это настолько сложно? :(

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru