<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Проблемма в скрипте регистрации
02.12.2012 18:19:16 Проблемма в скрипте регистрации Сообщение #1
dima9595

dima9595

Продвинутый

Продвинутый

Дата регистрации:
02.12.2012 18:14:26

Сообщений: 57

Доброго времени суток Михаил!
Я недавно начал изучать PHP, и столкнулся с проблеммой...

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

Код:

<?php
session_start();
?>

<!DOCTYPE html>
<html>

<head>
<title>EnigmaShifr - Регистрация</title>
<?php include("templates/Default/head.tpl" ?>
</head>

<body>
<?php include("templates/Default/header.tpl" ?>

<div class="container-fluid">
<div class="row-fluid">

<?php include("templates/Default/leftmenu.tpl" ?>

<?php include("templates/Default/register.tpl" ?>

</div>
</div>

<?php include("templates/Default/footer.tpl" ?>

<?php include("templates/Default/foot.tpl" ?>

</body>

</html>

<?php

$login = $_POST['login'];
$password = $_POST['password'];

//Заносим переменные, если они пустые, то удаляем их и выводим ошибку
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
if empty($login) or empty ($password)
{
echo "Вы не ввели логин или пароль";
}

//Проверим, есть ли различные HTML теги, если есть, то удаляем их
$login = htmlspecialchars($login);
$login = stripslashes($login);
$password = htmlspecialchars($password);
$password = stripslashes($password);

//Введённый пароль шифрируем в md5
$password = md5($password);

//Подключаемся к базе данных
include ("db.php";

//Проверяем, есть ли пользователь в базе данных, а если есть, то выводим ошибку
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id']))
{
echo ("Пользователь с логином $login уже зарегистрировался.";
}

//А если такого пользователя нет, то сохраняем
$result2 = mysql_query ("INSERT INTO users (login,password) VALUES('$login','$password')";

//Если есть ошибки, то выводим их, а если нет, выводим сообщение об успешной регистрации
if ($result2)
{
echo "Вы успешно зарегистрировались!";
}
else
{
echo "К сожалению вы не зарегистрировались. Возможно вы некорректно ввели логин или пароль.";
}

?>
Профиль
02.12.2012 18:48:08 Проблемма в скрипте регистрации Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

http://myrusakov.ru/php-finderror.html
Профиль
02.12.2012 19:07:06 Проблемма в скрипте регистрации Сообщение #3
dima9595

dima9595

Продвинутый

Продвинутый

Дата регистрации:
02.12.2012 18:14:26

Сообщений: 57

А не могли бы вы сами ответить!?
Профиль
02.12.2012 21:25:49 Проблемма в скрипте регистрации Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Рыться в чужом коде - не уважать самого себя. Учитесь сами искать ошибки, иначе забудьте о дальнейшем развитии. Здесь учатся, а если нужен готовый скрипт, то ищите здесь специалиста: http://free-lance.ru
Профиль
03.12.2012 19:09:45 Проблемма в скрипте регистрации Сообщение #5
dima9595

dima9595

Продвинутый

Продвинутый

Дата регистрации:
02.12.2012 18:14:26

Сообщений: 57

Ладно, спасибо, посмотрю...
Профиль
04.12.2012 15:14:17 Проблемма в скрипте регистрации Сообщение #6
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

if empty($login) or empty ($password)


Внимательно на эту строчку посмотри!
И в алгоритме ничего не понял.
Сначала задаются переменные логина и пароля, потом проверяются, потом снова назначаются.
Если пустые, то разустонавливаются.
И вообще, зачем делать регистрацию, если при ошибке в логине просто создастся новый пользователь.
Так база раздуется до огромных размеров.
В общем бред.
Профиль
04.12.2012 20:23:11 Проблемма в скрипте регистрации Сообщение #7
dima9595

dima9595

Продвинутый

Продвинутый

Дата регистрации:
02.12.2012 18:14:26

Сообщений: 57

Ошибка скрипта была в этом:
if empty($login) or empty ($password)

Как нужно было:
if (empty($login) or empty ($password))

Завтра придётся писать новый код...надеюсь он будет без багов=)
Профиль
06.12.2012 02:13:51 Проблемма в скрипте регистрации Сообщение #8
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

Еще внимательнее на эту строчку посмотри.
Хороший алгоритм авторизации.
Начинаем сессию.
Принимаем данные с формы, проверяем на ненужные символы.
Формируем запрос к базе, есть ли там введенный логин. Если нет сообщаем что введены ошибочные данные и записываем в файл сессии1 ошибку.
Если логин в базе есть, вытаскиваем пароль, сравниваем. При совпадении здороваемся и уважаем. В противном случае опять записываем ошибку в сессию2 и собщаем что опять не угадал.
Проверяем колличество ошибок в сессиях и если ошибок в сессии1 больше допустимого, просим покинуть сайт, блокируем айпи или предлагаем зарегистрироваться (тут на любителя). Если ошибки в сессии 2 предлагаем востановить пароль.

И это скрипт обработчик, никаких тегов разметки не нужно.
Профиль