Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/39: Рейтинг темы: голосов - 39, средняя оценка - 4.77
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
1

Создание регистрации на сайте

13.10.2012, 15:21. Показов 7941. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В интерннете множество ссылок на то, как создать регистрацию на сайте. Но ничего работающего не нашел. Нужна регистрация с использованием MYSQL для доступа к орпредленной странице и комментариев на ней только зарегистрированным пользователям!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2012, 15:21
Ответы с готовыми решениями:

Создание регистрации на сайте на PHP + MySQL
за основу взял материал вот отсюда: https://ruseller.com/lessons.php?rub=37&id=347 все сделал как...

Форма регистрации на сайте
Доброго времени суток! Сегодня писал форму регистрации на сайте и столкнулся вот с какой...

Не отправляет сообщение на почту об регистрации на сайте
Залил социальную сеть на движке Vii engine.Сразу появилась проблема,вводишь все данные для...

Ошибки при создании регистрации на сайте
Решил создать регистрацию на сайте нашел сайт по этой теме скачал код начинаю регистрироватся...

27
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.10.2012, 15:28 2
База данных для зарегистрировавшихся
в этой теме писали скрипты и регистрации, и авторизации, и вроде проверки

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

Не по теме:

плохо искали, видимо.. :pardon:

0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
13.10.2012, 16:01  [ТС] 3
как создать форму регистрации и дальнейшего входа под своим зарегистрированным именем, понятно.
Ввел данные в базу -вывел - проверил есть ли такой пользователь или нет. А дальше что? Но как сделать
1 чтобы пользователь когда зарегистрировался, открылась страница с текстом, которая недоступна без регистрации . допустим в определенном месте поставить код типа include("текст.php"). У меня получается только так, что текст выводится под строчкой " вы вошли на сайт" под формой ввода. а хотелось бы чтобы строка "вы вошли на сайт" появилась под формой например в левой колонке сайта, а текст в центральной, где основной контент!
2 смог оставить комментарий, без регистрации оставить который нельзя?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.10.2012, 16:06 4
очень просто, проверять наличие юзера в бд или сессии
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
13.10.2012, 16:08  [ТС] 5
Поподробнее можно?
Пример кода.
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
14.10.2012, 14:28 6
Здравствуйте. Вот очень замечательный урок, по созданию регистрации пользователей на сайте:
http://www.ajaxs.ru/lessonview.php?cat=php&id=38
Я как раз сделал регистрацию у себя, по этому уроку. Проверено, работает.
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
14.10.2012, 14:51  [ТС] 7
Спасибо! попробую. отпишусь о результате!

Добавлено через 13 минут
с кодировкой что-то не выходит у меня windows-1251, кракозябры место букв а атам стоит utf-8/ Замена нисего не дает.
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
14.10.2012, 17:38 8
PHP
1
2
3
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
:-)
1
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
14.10.2012, 18:18  [ТС] 9
Большое спасибо!!!!
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
14.10.2012, 19:24 10
Кстати, чуть не забыл. Вход пользователей в том уроке, выполнен на основе сессий. Это не совсем конечно удобно, так как сессия закрывается, после закрытия браузера. Придется чуть доработать, и сделать на основе кукиес. Но это не составит труда.
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
14.10.2012, 19:34  [ТС] 11
А как это сделать? Для меня это пока трудно. и как можно сделать "запомнить пользователя"?
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
15.10.2012, 11:49 12
Про использование кукиес в интернете написано не мало.
К примеру: http://www.php.su/articles/?cat=protocols&page=013

Во время успешного входа в систему, значения логина, md5(пароля) и id просто записываете в кукиес с помощью соответствующих функций. Так же, на страницах должна быть функция проверки наличия кукиес, на основании которых показываем или скрываем определенный контент. Вот как то так. Если где неправильно сказал, добрые люди поправят.

и как можно сделать "запомнить пользователя"?
То есть, галочка "Запомнить" при входе в систему, имеется ввиду? Если да, то у каждого созданного кукиес имеется время жизни. При активной галочке "Запомнить", время жизни кукиес выставляется к примеру на неделю. Опять же, если где ошибся, люди добрые поправят. А впрочем в интернете, должна быть информация о том, как делают эти вещи.
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
15.10.2012, 12:44  [ТС] 13
а можно на примере изменить из хранения в сессии в хранение в cookies?

Как понял надо менять функцию:

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
 
mysql_connect ("localhost","user","password");
mysql_select_db ("registration");
mysql_query("SET NAMES cp1251");
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$id_user = $_SESSION['id'];
?>
Может для каждого параметра login, password, id создавать функцию:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// name - имя cookie
// value - значение cookie
// [expires] - дата окончания действия 
cookie (по умолчанию - до конца сессии)
// [path] - путь, для которого cookie действительно
 (по умолчанию - документ, в котором значение было установлено)
// [domain] - домен, для которого cookie действительно 
(по умолчанию - домен, в котором значение было установлено)
// [secure] - логическое значение, показывающее требуется ли 
защищенная передача значения cookie
 
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 4000)
document.cookie = curCookie
else
if (confirm("Cookie превышает 4KB и будет вырезан !"))
document.cookie = curCookie
}
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
15.10.2012, 13:59 14
Вышеуказанный код управления кукиесом, написанный на javascript, советую отложить и писать его на php. Для этого, есть более замечательные и простые функции:
PHP
1
2
setCookie('my_cookie', value); // устанавливаем кукиес
$_COOKIE['my_cookie']; // считываем значение
Вот интересная статья: http://www.php.su/phphttp/?cookies

А document.cookie - малость консервативен.

И еще, советую почитать книги по серверному программированию, так как без этого что-либо проектировать у себя на сайте, будет очень сложно. Например могу посоветовать, начать с книги: "Золотников Д.С. - Как самостоятельно создать сайт любой сложности". Написана, таким простым языком, что даже школьник, сможет создать сайт на PHP. Сам с нее начал изучение. А без знаний, понимаете, просто нет смысла проектировать сайт. Сначала немножко теории, затем практика.

Добавлено через 9 минут
PHP
1
2
3
$login = $_COOKIE['login'];
$password = $_COOKIE['password'];
$id_user = $_COOKIE['id'];
А сессии убрать.:-)
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
15.10.2012, 18:38  [ТС] 15
Спасибо.
Заменил
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
 
mysql_connect ("localhost","user","pass");
mysql_select_db ("reg2");
mysql_query("SET NAMES cp1251");
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$id_user = $_SESSION['id'];
?>
на
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
setCookie('my_cookie', value); // устанавливаем кукиес
$_COOKIE['my_cookie']; // считываем значение
 
$login = $_COOKIE['login'];
$password = $_COOKIE['password'];
$id_user = $_COOKIE['id'];
 
mysql_connect ("localhost","user","pass");
mysql_select_db ("reg2");
mysql_query("SET NAMES cp1251");
 
 
?>
но теперь не могу ввойти в форму ввода имени и пароля. постоянно появляется форма, хотя при удачном вводе должен появится секретный текст.
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
68
69
70
71
72
73
74
75
76
77
78
79
<?php
if(empty($login) and empty($password)){
print <<<HERE
<table>
Вход:
<br>
<br>
 
      <form action="1.php" method="POST">
      <tr>
      <td>Логин:</td>
      <td><input type="text" name="login" ></td>
      </tr>
      
      <tr>
      <td>Пароль:</td>
      <td><input type="password" name="password" ></td>
      </tr>
      
      <tr>
      <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
      </tr>
      </form>
      </table>
 
HERE;
}
 
else{
echo "Привет, <strong>".$login."</strong> | <a href='exit.php'>Выход</a><br>Контент для зарегистрированных пользователей";
}
 
?>
<br>
 
 
<?php
if (isset($_POST['login'])) {
    $login = $_POST['login']; 
    if ($login == '') {
        unset($login);
        exit ("Введите пожалуйста логин!");
    } 
}
if (isset($_POST['password'])) {
    $password=$_POST['password']; 
    if ($password =='') {
        unset($password);
        exit ("Введите пароль");
    }
}
 
$login = stripslashes($login);
$login = htmlspecialchars($login);
 
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
 
$login = trim($login);
$password = trim($password);
 
$password = md5($password);//шифруем пароль
 
$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
    exit ("<a href='registration.php'>Регистрация</a>");
}
else {
 
   
    $_SESSION['password']=$password; 
    $_SESSION['login']=$login; 
    $_SESSION['id']=$id_user['id'];
          
}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
?>

спасибо за рекомендации по книге, почитаю если найду.
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
15.10.2012, 19:52 16
PHP
1
2
setCookie('my_cookie', value); // устанавливаем кукиес
$_COOKIE['my_cookie']; // считываем значение
Эти две строки, приводились как пример.

А setCookie('my_cookie', value); вызывается во время удачной проверки логина и пароля, где "my_cookie" - имя, а value - значение.
То есть, во время удачной проверки логина и пароля, мы дожны выполнить(чтобы создать кукиес):
PHP
1
2
3
setCookie("login", $login);
setCookie("Password", $password);
setCookie("id", $id_user);
Но не вставляйте приведенный мной код к себе, таким какой он есть, потому что переменные могут быть разными. Вам придется переделать все под свой код. К тому же у функции setCookie() есть еще ряд важных дополнительных параметров. Об этом можно прочитать на сайте, ссылку которого я выкладывал.
А эти строки вообще нужно убрать, так как сессии не используем:
PHP
1
2
3
4
5
session_start();
 
$_SESSION['password']=$password; 
$_SESSION['login']=$login; 
$_SESSION['id']=$id_user['id'];
В любом случае, сначала вам надо сделать в точности по тому уроку, на основе сессий. И не просто, скопировать оттуда код, а понять что за чем идет, понять каждую функцию, найти по каждой функции мануал и понять что как работает и наконец, проверить работает ли вообще. А уж затем, когда все докончите и все у вас будет работать регистрация и вход, переведёте свой сайт с сессий на кукиес. По моему это самое эффективное решение.

Добавлено через 12 минут
И не забудьте скачать книжечку, которую я посоветовал. В ней описываются самые важные моменты в серверном программировании, начиная с самых примитивов.
1. Установка\настройка денвера.
2. Основы синтаксиса.
3. Операторы, функции, массивы, переменные, html итд..
4. Работа с файлами.
5. Работа с базой данных
6. работа с кукиес
итд.
Очень пригодится.
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
15.10.2012, 19:57  [ТС] 17
Книжку скачал спасибо. начну читать. нодело в том, что хочется как всегда всего и сразу! Читать лень! Хотя каждый раз думаю начать изучение, но думаю все время, что проще готовое скачать....
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
15.10.2012, 20:04 18
Хм. Узнаю себя.
В любом случае, придется пройти через теорию и изучение азов. Иначе, никак не получается. А книжка, небольшая совсем, прочтется очень быстро. Если читать изложенные там примеры и сразу же их пробовать на практике, то в уже довольно короткие сроки, можно все это дело освоить. В любом случае, респект. Знание сила. В жизни пригодится.
0
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
15.10.2012, 20:07  [ТС] 19
значит лучше за компом изучать? хотел в телефон кинуть и читать в свободное от работы время на работе!
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
15.10.2012, 20:16 20
значит лучше за компом изучать?
Был бы это роман какой-нибудь, можно было бы и в телефоне почитать. Но здесь, примеры описанные в книге, желательно бы сразу проверять, тестировать, смотреть как они работают. Мы тоже работаем дорогой вы мой, как и все, находим время для изучений и занятий. Так что уж извольтесъ немного потрудиться..
0
15.10.2012, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2012, 20:16
Помогаю со студенческими работами здесь

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

Сделал регистрацию на сайте через phpmyadmin, но при регистрации поля пустые
Сделал регистрацию на сайте через phpmyadmin, но при регистрации поля пустые. Все поля ввел...

Как недопустить "пробивку" существования эл. адреса на сайте при регистрации ?
Есть сайт. При регистрации пользователя запрашивается адрес эл.почты и пароль. Адрес почты, в...

Создание формы регистрации и авторизации в php
Не получается создать форму регистрации и авторизации на сайте. Помогите пожалуйста разобраться с...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru