|
|
|
| Не могу найти доступную для моего понимания информацию, как сделать регистрацию на своем сайте! Подскажите пожалуйста ресурс, где можно про это почитать? Только не говорите мол "установи скрипт форума и посмотри как там устроена регистрация". Для меня это сложно, понять код регистрации навороченного форума с комментариями на английском языке. Заранее благодарен! Администратор, прости за флуд! | |
|
|
|
|
|
|
|
для: Sarat
(09.06.2009 в 22:35)
| | Если для вас это сложно, то я могу посоветовать учебник автором этого портала:
http://softtime.ru/php5/?id_article=43
Только учтите, что недавно вышло второе издание (обложка та же, только зелёная), лучше купить его. | |
|
|
|
|
|
|
|
для: DEM
(09.06.2009 в 22:57)
| | Ну да, хорошая книга, вот только у меня одна есть уже, лежит и пылится. Хочется ведь сразу сделать, чтоб и кот был готовый и комментарии к нему на русском. У меня уровень знания по ПХП самый начальный, книга бы конечно помогла, но её надо заказывать.
Как я понимаю(для простейшей регистрации), начать нужно с того что создать таблицу в БД с полями name (настоящее имя), pass (пароль), n_name (ник) и сделать некоторые разделы сайта недоступными для иных, кого нет в этой таблице. Как сделать последнее? | |
|
|
|
|
|
|
|
для: Sarat
(10.06.2009 в 08:27)
| | доступ можно сделать на сессиях.
проверяешь запущена сессия или нет, если запущена, то пускаешь в защищённый раздел, если нет - предлагаешь зарегистрироваться.
вот пример такой авторизации ПРИМЕР
Для регистрации делаешь обычную форму, которую пользователь заполняет на сайте, делаешь проверку правильности заполнения полей и заносишь данные в БД. | |
|
|
|
|
|
|
|
для: Sarat
(09.06.2009 в 22:35)
| | Вот что я сделал:
1) В файле index.php создал форму
<table>
<form action="reg.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>Повторите пароль</td>
<td><input type="password" name="password2"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="OK" name="submit" ></td>
</tr>
</form>
</table>
2) в бд создал таблицу users с полями id, login, password, email.
3) создал файл-обработчик, который заносит данные из формы в БД
<?
include_once("connect.php"); /*подключение к базе данных*/
if (isset($_POST['submit']))
{
if(empty($_POST['login']))
{
echo 'Вы не ввели логин';
}
elseif(empty($_POST['password']))
{
echo 'Вы не ввели пароль';
}
elseif(empty($_POST['password2']))
{
echo 'Вы не ввели подтверждение пароля';
}
elseif($_POST['password'] != $_POST['password2'])
{
echo 'Введенные пароли не совпадают';
}
elseif(empty($_POST['email']))
{
echo 'Вы не ввели E-mail';
}
else
{
$login = $_POST['login'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$email = $_POST['email'];
$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
";
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0)
{
echo 'Такой логин уже существует';
}
else
{
$query = "INSERT INTO users(login , password , email )
VALUES ('$login', '$password', '$email')";
$result = mysql_query($query) or die(mysql_error());;
echo 'Регистрация успешно прошла';
}
}
}
?>
Скажите пожалуйста по тому же пути, что дальше делать? Как закрыть на некоторые разделы сайта доступ для незарегестрированных пользователей? Как предлагать вводить логин и пароль для вновь вошедших зарегестрированных, чтобы открыть им доступ? | |
|
|
|
|
 1.5 Кб |
|
|
для: Sarat
(10.06.2009 в 13:17)
| | ты читал статью, сноску на которую я тебе дал? там рассказано и показано как закрыть доступ.
по поводу твоего кода.
есть несколько замечаний (на мой взгляд).
так как ты проверяешь имя пользователя ни чего у тебя не получится.
я прикрепил скрипт проверки имени на уникальность, взят он из примеров к книге "Головоломки на PHP для хакера", первое издание, посмотри как правильно сделать.
Пароль лучше обрабатывать функцией md5(), прочесть можешь о ней в мануале.
В файле index.php можно сделать проверку регистрации пользователя через сессии.
например
<?php
session_start();
if(!isset($_SESSION['name'])){
// выводишь форму и предлагаешь ввести логин/пароль или зарегистрироваться
}
else{
// если пользователь зарегистрирован, то выводишь содержание страницы
}
?>
|
пока всё. | |
|
|
|
|
|
|
|
для: Slo_Nik
(10.06.2009 в 16:33)
| | Не стал ломать голову, сделал всё как здес : http://softtime.ru/forum/read.php?id_forum=3&id_theme=65384 но почему то сессия не открывается. Выдает ошибку на линии где " session_start(); ". Во всех файлах выдает ошибку. | |
|
|
|
|
|
|
|
для: Sarat
(11.06.2009 в 22:57)
| | ну осталось только тебе привести текст сообщения об ошибке.... | |
|
|
|
|
|
|
|
для: Slo_Nik
(11.06.2009 в 23:32)
| | Всётаки у меня сессия не открывается, почему не понятно!
Еще ошибка на линии где "if ($_SESSION['error']==2)" - "Notice: Undefined index: error in z:\home\localhost\www\phpsite\reg.php on line 8"
Также когда регестрируешься в файле registration.php на 13-линии где if($_SESSION['id'] != session_id()) пишет Notice: Undefined index: id in z:\home\localhost\www\phpsite\registration.php on line 13
Получается функция session_start(); не создает идентификатор? Почему? | |
|
|
|
|
|
|
|
для: Sarat
(12.06.2009 в 20:46)
| | У тебя что-то там не определено, это такую шнягу написал тебе этот ублюдок, наверное соответствующие элементы массива $_SESSION не определены. Сука, на дату не посмотрел... Удалите сообщение, оно уже наверное ни к месту.. | |
|
|
|
|
|
|
|
для: Skinhead1
(17.06.2009 в 22:07)
| | Да нет, если кто нибудь из присутствующих будет это читать, пишите хоть через месяц, я застрял на этом и буду проверять сообщения. Мне бы подробный скрипт для чайника, простой,а то все такие умные, кидают незавершенные коды. Там кусок выхвати, да там, а в итоге собираешь всё и ничего не работает. В поисковике ищешь, дак он вообще такую хуйню выдает! Вот всё сделал, а без регистрации баловство а не сайт, ерунда! По крайней мере для моего сайта!
Пример никто не встречал? Неужели нет нигде про РЕГИСТРАЦИЮ ничего, я уже клавиши стёр! Мне уже даже не важно с БД будет она или без, главное сам факт, чтоб она хоть какая то была! | |
|
|
|
|
|
|
|
для: Sarat
(21.06.2009 в 10:33)
| | куски кода Вам "кидают" для того чтобы Вы их анализировали, учились и на их основе писали свой код, а не собирали в кучу. Если Вы хотите чему-то научиться, то поисковики вам действительно не помошник. Купите хорошую книгу (в пределах 1000р) по РНР там всё подробно описано (а если повезёт, то и почти готовый код на диске будет)
Второй вариант: вы идёте на фриланс.ру, платите деньги и получаете готовый* код.
___
* По мне так лучше вариант с книгой, так как купленный за деньги готовый код может оказаться "собранием" кусков ;) | |
|
|
|
|
|
|
|
для: Valick
(21.06.2009 в 12:16)
| | Ну а с другой стороны это форум по программированию, а не по покупке книг и у меня тут конкретный вопрос выше был "почему не открывается сессия? возможные причины" может кто то знает. Я думаю форумы для этого и нужны, чтоб экономя время и деньги найти ответ на вопрос. И кстати много вопросов, связанных с регистрацией задается и они остаются нераскрытыми и нигде от и до про это не написанно. | |
|
|
|