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

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

29.08.2012, 10:31. Показов 14424. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
Модель здравоохранения 12. добавление болезней через ресурпул, как аварии
anaschu 22.05.2026
Болезни — это ключевая часть нашей модели. Нам нужно, чтобы работник периодически уходил на больничный, его задание при этом зависало, а после выздоровления работа возобновлялась. Реализуем это двумя. . .
Модель здравоохранения 11. Создаём классы Задание и Работник
anaschu 22.05.2026
В AnyLogic каждая заявка и каждый ресурс — это объект определённого класса. Нам нужно создать два класса: Задание (заявка) и Работник (ресурс). Класс Задание В дереве проекта нажимаем правой. . .
Модель здравоохранения 10. Новая модель, смотрим, как добавлять логические блоки, и что писать внутри
anaschu 22.05.2026
Открываем AnyLogic, создаём новый проект. В дереве проекта появляется класс Main — это главный агент, в котором будет жить вся наша логика. Палитра блоков Слева находится палитра. Нас интересует. . .
модель ЗдравоСохранения 9. Новая модель, разбираемся, как ее создавать
anaschu 22.05.2026
В этой серии постов мы построим модель небольшого рабочего коллектива. Сотрудники получают задания, выполняют их, иногда болеют — и мы хотим посчитать, сколько это стоит компании. Метод. . .
[golang] Linked list
alhaos 22.05.2026
Связный список / Linked list Связный список структура данных позволяющая хранить список значений, в отличии от массива в памяти хранится не сплошным куском, а отдельными частями которые ссылаются. . .
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru