Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Регистрация посетителей на своем сайте, с использованием БД.

Сообщения:  [1-10]   [11-13] 

 
 автор: Sarat   (21.06.2009 в 18:35)   письмо автору
 
   для: Valick   (21.06.2009 в 12:16)
 

Ну а с другой стороны это форум по программированию, а не по покупке книг и у меня тут конкретный вопрос выше был "почему не открывается сессия? возможные причины" может кто то знает. Я думаю форумы для этого и нужны, чтоб экономя время и деньги найти ответ на вопрос. И кстати много вопросов, связанных с регистрацией задается и они остаются нераскрытыми и нигде от и до про это не написанно.

  Ответить  
 
 автор: Valick   (21.06.2009 в 12:16)   письмо автору
 
   для: Sarat   (21.06.2009 в 10:33)
 

куски кода Вам "кидают" для того чтобы Вы их анализировали, учились и на их основе писали свой код, а не собирали в кучу. Если Вы хотите чему-то научиться, то поисковики вам действительно не помошник. Купите хорошую книгу (в пределах 1000р) по РНР там всё подробно описано (а если повезёт, то и почти готовый код на диске будет)
Второй вариант: вы идёте на фриланс.ру, платите деньги и получаете готовый* код.
___
* По мне так лучше вариант с книгой, так как купленный за деньги готовый код может оказаться "собранием" кусков ;)

  Ответить  
 
 автор: Sarat   (21.06.2009 в 10:33)   письмо автору
 
   для: Skinhead1   (17.06.2009 в 22:07)
 

Да нет, если кто нибудь из присутствующих будет это читать, пишите хоть через месяц, я застрял на этом и буду проверять сообщения. Мне бы подробный скрипт для чайника, простой,а то все такие умные, кидают незавершенные коды. Там кусок выхвати, да там, а в итоге собираешь всё и ничего не работает. В поисковике ищешь, дак он вообще такую хуйню выдает! Вот всё сделал, а без регистрации баловство а не сайт, ерунда! По крайней мере для моего сайта!
Пример никто не встречал? Неужели нет нигде про РЕГИСТРАЦИЮ ничего, я уже клавиши стёр! Мне уже даже не важно с БД будет она или без, главное сам факт, чтоб она хоть какая то была!

  Ответить  
 
 автор: Skinhead1   (17.06.2009 в 22:07)   письмо автору
 
   для: Sarat   (12.06.2009 в 20:46)
 

У тебя что-то там не определено, это такую шнягу написал тебе этот ублюдок, наверное соответствующие элементы массива $_SESSION не определены. Сука, на дату не посмотрел... Удалите сообщение, оно уже наверное ни к месту..

  Ответить  
 
 автор: Sarat   (12.06.2009 в 20:46)   письмо автору
 
   для: 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(); не создает идентификатор? Почему?

  Ответить  
 
 автор: Slo_Nik   (11.06.2009 в 23:32)   письмо автору
 
   для: Sarat   (11.06.2009 в 22:57)
 

ну осталось только тебе привести текст сообщения об ошибке....

  Ответить  
 
 автор: Sarat   (11.06.2009 в 22:57)   письмо автору
 
   для: Slo_Nik   (10.06.2009 в 16:33)
 

Не стал ломать голову, сделал всё как здес : http://softtime.ru/forum/read.php?id_forum=3&id_theme=65384 но почему то сессия не открывается. Выдает ошибку на линии где " session_start(); ". Во всех файлах выдает ошибку.

  Ответить  
 
 автор: Slo_Nik   (10.06.2009 в 16:33)   письмо автору
1.5 Кб
 
   для: Sarat   (10.06.2009 в 13:17)
 

ты читал статью, сноску на которую я тебе дал? там рассказано и показано как закрыть доступ.
по поводу твоего кода.
есть несколько замечаний (на мой взгляд).
так как ты проверяешь имя пользователя ни чего у тебя не получится.
я прикрепил скрипт проверки имени на уникальность, взят он из примеров к книге "Головоломки на PHP для хакера", первое издание, посмотри как правильно сделать.
Пароль лучше обрабатывать функцией md5(), прочесть можешь о ней в мануале.
В файле index.php можно сделать проверку регистрации пользователя через сессии.
например

<?php 
session_start
();
if(!isset(
$_SESSION['name'])){
 
// выводишь форму и предлагаешь ввести логин/пароль или зарегистрироваться
}
else{
 
// если пользователь зарегистрирован, то выводишь содержание страницы
}
?>

пока всё.

  Ответить  
 
 автор: Sarat   (10.06.2009 в 13:17)   письмо автору
 
   для: 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 'Регистрация успешно прошла';
}
}
}
?>

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

  Ответить  
 
 автор: Slo_Nik   (10.06.2009 в 09:39)   письмо автору
 
   для: Sarat   (10.06.2009 в 08:27)
 

доступ можно сделать на сессиях.
проверяешь запущена сессия или нет, если запущена, то пускаешь в защищённый раздел, если нет - предлагаешь зарегистрироваться.
вот пример такой авторизации ПРИМЕР
Для регистрации делаешь обычную форму, которую пользователь заполняет на сайте, делаешь проверку правильности заполнения полей и заносишь данные в БД.

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования