|
|
|
| помогите сделать регистрацию на сайте плиз, сделал сайт люди требую регистрацию, незнаю как сделать ..... | |
|
|
|
|
|
|
|
для: admin
(04.06.2008 в 14:39)
| | Регистрация делается с какой-то определенной целью, например для того чтобы открыть дополнительные возможности зарегестрированного пользователя к скрытой информации на сайте и т.д.
У вас какая цель ? | |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 16:23)
| | Ну вот небольшой скриптик, прошу не судить строго, ибо я только учусь ):
окно регистрации, ну типа ввода логина и пароля:
regist.php
<?php
echo '
<div align=center><h1 class=admin>Регистрация</h1></center></div>
<blockquote><p align=center>';
if ($_GET['error']==4) echo '<span class=error>Пользователь с таким именем уже существует.<br>
Попробуйте другое имя</span>';
if ($_GET['error']==5) echo '<span class=error>Введите имя пользователя. Оно не может быть пустым<br></span>';
echo '
<table align=left width=400 border=0>
<tr>
<td align=right width=250><br>
Логин: <br><br>
</td>
<td align=center><br>
<form action="add_user.php" method=post>
<input type=text name=login><br><br>
</td>
</tr>
<tr>
<td align=right>
Пароль:<br><br>
</td>
<td align=center>
<input type=password name=pass1><br><br>
</td>
</tr>
<tr>
<td align=right>
Пароль еще раз:<br><br>
</td>
<td align=center>
<input type=password name=pass2><br>';
if ($_GET['error']==3) echo '<span class=error>Пароли не совпадают!</span>';
echo '
<br>
</td>
</tr>
<tr>
<td align=right>
E-mail:<br><br>
</td>
<td align=center>
<input type=text name=mail><br><br>
</td>
</tr>
<tr>
<td colspan=2 align=right valign=middle>
<input type=hidden name=reg value="1">
<input type=submit value=Зарегистрироваться>
</form>
</td>
</tr>
</table>
';
?>
|
файл записи информации в БД : add_user.php
<?php
require('mysql.php');
if ($_POST['pass1']!==$_POST['pass2']) exit(header("location:regist.php?error=3")); // если не совпадают пароли
if (!$_POST['login']) exit(header("location:regist.php?error=5"));
$login=htmlspecialchars($_POST['login']);
$pass=htmlspecialchars($_POST['pass1']);
$mail=htmlspecialchars($_POST['mail']);
$query="(SELECT COUNT(*) FROM users WHERE name='$login')";
$us=mysql_query($query);
if (!$us) exit(mysql_error());
$us1=mysql_fetch_row($us);
if ($us1[0]==1) exit(header("location:regist.php?error=4")); //если есть такой пользователь
else
{
$query="INSERT INTO users VALUES (0,'".$login."','".$pass."','".$mail."','клиент')";
if (!mysql_query($query)) exit(mysql_error());
setcookie("user",$login,time()+600);
setcookie("pass",$pass,time()+600);
exit(header("location:index.php"));
}
?>
|
| |
|
|
|
|
|
|
|
для: SiM(R)
(04.06.2008 в 17:43)
| | исходя из вашего скрипта, можно зарегистрировать пользователя без пароля и мыла+пароль храниться в куках.... помоему не очень хорошо...
+ не вижу у вас обработку данных на sql инекции перед занесением в базу... | |
|
|
|
|
|
|
|
для: KPETuH
(05.06.2008 в 05:22)
| | Да, все плохо. Но этой мой первый скрипт на регистрацию, так что много я не предусмотрел ).
Особенно с пустым паролем это конечно забавно, хотя пусть это будет на совести пользователей, они ведь сами сочиняют свой пароль.
Если не сложно ответьте на 2 вопроса:
1) почему не безопасно хранить пароль в куках? Куки храняться на машине пользователя... А иначе ведь нельзя организовать "запоминание" сайтом пользователя. В результате пользователю придется постоянно авторизовываться.
2) А функции htmlspecialchars() недостаточно для предотвращения SQL-инъекций? | |
|
|
|
|
|
|
|
для: SiM(R)
(05.06.2008 в 06:33)
| | 1. потому что на компьютере пользователя могут быть всякие троянчики и другие вредоносные програмки которые эти пароли могут выдернуть и использовать в своих целях, лучше всего не хранить пароли а ккакой-то достаточно сложный идентификатор пользователя, ну а уж если пароль то в зашифрованном виде как минимум...
2. htmlspecialchars() предотвращает вывод в браузер всякой гадости :), от sql-инекций не защищает :) | |
|
|
|
|
|
|
|
для: admin
(04.06.2008 в 14:39)
| | Авторизация | |
|
|
|