[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ребят помогите со скриптом регистрации пользовател
Fredrich
Ребят можете скинуть какой нибудь простой скрипт для регистрации пользователя для сайт с одной точкой входа, имею ввиду MVC.... Зарание благодарен


а то вот этот скрипт ни как не хочет идту


if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
//если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);

// проверка на существование пользователя с таким же логином
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}
// если такого нет, то сохраняем данные
$result2 = mysql_query ("INSERT INTO users (login,password) VALUES('$login','$password')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}



вот шаблон отображения

<h2>Регистрация</h2>
<form
action="#" method="post">

<p>
<label>
Ваш логин:<br></label>
<input
name="login" type="text" size="15" maxlength="15">
</p>

<!--**** В текстовое поле (name="login" type="text") пользователь вводит свой логин ***** -->
<p>
<label>
Ваш пароль:<br></label>
<input
name="password" type="password" size="15" maxlength="15">
</p>

<!--**** В поле для паролей (name="password" type="password") пользователь вводит свой пароль ***** -->
<p>
<input
type="submit" name="submit" value="Зарегистрироваться">
<!--**** Кнопочка (type="submit") отправляет данные на страничку save_user.php ***** -->
</p></form>




Спустя 8 минут, 9 секунд (12.05.2011 - 12:21) GET написал(а):

Спустя 59 минут, 26 секунд (12.05.2011 - 13:20) sebastjan написал(а):
Не проверял но кажеться не так должно быть VALUES('$login','$password')");
а так VALUES('".$login."','".$password."')");
А вообще конечно на ирбис , отличная тема.

Спустя 8 дней, 9 часов, 56 минут, 39 секунд (20.05.2011 - 23:17) Fredrich написал(а):
Вот ребята сделал оцените


<?php
if (isset($_POST['login'])) { $login = $_POST['login']; } //заносим введенный пользователем логин в переменную $login
if (isset($_POST['password'])) { $password=$_POST['password']; } //заносим введенный пользователем логин в переменную $login
if (isset($_POST['name'])) { $name=$_POST['name']; }

if (!empty($login) or !empty($password) or !empty($name))
{
$result = mysql_query("SELECT id FROM users WHERE login='$login'");// Проверка логина на повторяемость
$myrow = mysql_fetch_array($result);
if(empty($myrow['id']))
{
$password = md5(trim(htmlspecialchars($password.SALT)));
$result2 = mysql_query ("INSERT INTO users (login,password,name) VALUES('$login','$password','$name')"); // заносим данные в базу данных
if($result2=='TRUE')
{
$a = 'Вы успешно зарегистрированны, теперь вы можете войти под своими данными'; // отправляем пользователя в случае удачной регистации на главную страницу
header("Location: index.php");
}
else
{
$a = 'Ошибка регистрации попробуйте еще раз';
}
}

else
{
$a = 'Данный логин уже существует попробуйте другой!!!';
}
}

else
{
$a = 'Вы ввели не всю информацию в поля или вы вошли в первый раз';
}
?>

Спустя 34 минуты, 10 секунд (20.05.2011 - 23:51) Лена написал(а):
$login = $_POST['login']; , очистить надо от пробелов:
$login = trim($_POST['login']);

$password = md5(trim(htmlspecialchars($password.SALT)));
htmlspecialchars() не надо, его применяют перед выводом в броузер.
константа SALT не определена.

header("Location: index.php");
exit;
после редиректа останавливаем скрипт.

INSERT INTO users (login,password,name) VALUES('$login','$password','$name'
возможна sql-инъекция.

Спустя 13 часов, 17 минут, 3 секунды (21.05.2011 - 13:08) Fredrich написал(а):
Всё исправил, единственное что хотел уточнить что КОНСТАНТА SALT Определена зарание в подключаемом файле к главному индексу

Вот смотри код

<?php
if (isset($_POST['login'])) { $login = $_POST['login']; } //заносим введенный пользователем логин в переменную $login
if (isset($_POST['password'])) { $password=$_POST['password']; } //заносим введенный пользователем логин в переменную $login
if (isset($_POST['name'])) { $name=$_POST['name']; }



if (!empty($login) or !empty($password) or !empty($name))
{ $login = trim($_POST['login']); // Очищаем логин от пробелов
$result = mysql_query("SELECT id FROM users WHERE login='".mysql_real_escape_string($login)."'");// Проверка логина на повторяемость
$myrow = mysql_fetch_array($result);
if(empty($myrow['id']))
{
$password = md5(trim($password.SALT));
$result2 = mysql_query ("INSERT INTO users (login,password,name) VALUES(
'"
.mysql_real_escape_string($login)."',
'"
.mysql_real_escape_string($password)."',
'"
.mysql_real_escape_string($name)."')"); // заносим данные в базу данных
if($result2=='TRUE')
{
$a = 'Вы успешно зарегистрированны, теперь вы можете войти под своими данными'; // отправляем пользователя в случае удачной регистации на главную страницу
header("Location: index.php");
exit;
}
else
{
$a = 'Ошибка регистрации попробуйте еще раз';
}
}

else
{
$a = 'Данный логин уже существует попробуйте другой!!!';
}
}

else
{
$a = 'Вы ввели не всю информацию в поля или вы вошли в первый раз';
}
?>


Только почему то тут часть кода унесло в право, а именно значения переменных вносимых в базу...
Жду вашей критики....
Всегда рад...

Спустя 7 часов, 43 минуты, 9 секунд (21.05.2011 - 20:51) inpost написал(а):
Fredrich
Отступы делай по 4 пробела, посмотри свой скрипт сам, нереально читать.

Спустя 54 минуты, 30 секунд (21.05.2011 - 21:46) Fredrich написал(а):
где именно делать отступы в 4 пробела, если ты говоришь о запросе, то я так и делал , это тут почему то так встало


_____________
Видео уроки по Yii
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.