<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

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

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

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

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

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

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

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

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

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

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

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

Правильный ли код
24.10.2011 23:40:20 Правильный ли код Сообщение #1
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, здравствуйте, вот хотел бы узнать, возможно ли сделать что нибудь в этом духе?

<?php
class Registration {
$log = $_POST['login'];
$pass = $_POST['password'];
function __construct ($log, $pass){
$this->log = $log;
$this->pass = $pass;
}
function verifyDataLogin() {
if (isset($this->log)){
if (empty($this->log))
exit ('');
}
}
}








?>



Профиль
24.10.2011 23:52:02 Правильный ли код Сообщение #2
Admin

Admin

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

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

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

Сообщений: 3063

Нет, здесь, во-первых, множество ошибок, во-вторых, так никто не делает. Каждый объект должен отвечать только сам за себя! Поэтому $_POST["log"] должен передаваться в конструктор извне. Да и какой смысл в присвоении свойствам $_POST["log"], если потом они в конструкторе переопределяются?
Профиль
25.10.2011 00:10:17 Правильный ли код Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Просто дело в том, что я сделал класс для регистрации, но проблема в том, как задать один раз $_POST['login']?
Я так понимаю её надо задать уже при построении класса?

$reg = new Registration ($_POST['login']);


Примерно так её надо объявлять получается?
Профиль
25.10.2011 00:16:32 Правильный ли код Сообщение #4
Admin

Admin

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

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

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

Сообщений: 3063

Да, именно так правильно. Тоже самое и с паролем.
Профиль
25.10.2011 00:44:09 Правильный ли код Сообщение #5
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, понял, работаю дальше)))
Профиль
25.10.2011 00:56:43 Правильный ли код Сообщение #6
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, здравствуйте, вот хотел бы узнать, возможно ли сделать что нибудь в этом духе?

<?php
class Registration {
$log = $_POST['login'];
$pass = $_POST['password'];
function __construct ($log, $pass){
$this->log = $log;
$this->pass = $pass;
}
function verifyDataLogin() {
if (isset($this->log)){
if (empty($this->log))
exit ('');
}
}
}








?>



Профиль
25.10.2011 01:04:45 Правильный ли код Сообщение #7
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Вот сделал, но теперь ошибка вылетает при регистрации
registration.php
<?php
class registration {
$log;
$pass;
$repeatpass;
function __construct() {
$this->log = $log;
$this->pass = $pass;
$this->repeatpass = $repeatpass;
}
function checkDataLoginRegAuth() {
if (isset($this->log)) {
if ($this->log == '') {
unset($this->log);
}
}
}
function checkDataPassLog() {
$log = $_POST['login'];
if (isset($_POST['password'])) { $pass=md5($_POST['password']); if ($pass =='') { unset($pass);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($log) or empty($pass)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
}
}

function checkDataPassReg() {
if (isset($this->pass)) {
if ($this->repeatpass == $this->pass) {
if (($this->pass == '') || ($this->repeatpass == '')) {
exit ("Введите данные заново";
}
}
else {
exit ("Пароли не совпадают!";
}
}
if ((empty($this->log)) || (empty($this->pass))) {
exit ("Обязательные поля должны быть заполнены!";
}

}

function insertDataReg() {
$name = $_POST['name'];
$insert = mysql_query ("INSERT INTO users (login, name, password) VALUES('$this->log', '$name', '$this->pass')";
if ($insert == 'TRUE')
{
echo "Вы успешно зарегистрированы!";
}
else {
echo "Ошибка при регистрации!";
}
}

function insertDataAuth() {
$result = mysql_query("SELECT * FROM users WHERE login='$this->log'"; //извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($result);
if (empty($myrow['password']))
{
//если пользователя с введенным логином не существует
exit ("Извините, введённый вами login или пароль неверный.";
}
else {
//если существует, то сверяем пароли
if ($myrow['password']==$pass) {
//если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
$_SESSION['login']=$myrow['login'];
$_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
echo "Вы успешно вошли на сайт! <a href='/index.php'>Главная страница</a>";
}
else {
//если пароли не сошлись

exit ("Извините, введённый вами login или пароль неверный.";
}
}


}


}

?>

reg.php
<?php
require_once "classes/dbconnect.php";
require_once "classes/registration.php";
$registr = new registration($_POST['login'], $_POST['login']);
echo $registr->checkDataLoginRegAuth();
echo $registr->checkDataPassReg();
echo $registr->insertDataReg();
?>


Сама ошибка вот
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in L:\home\test33.ru\www\classes\registration.php on line 3
Профиль
25.10.2011 11:15:16 Правильный ли код Сообщение #8
Admin

Admin

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

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

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

Сообщений: 3063

Нужно перед свойством ставить модификатор доступа (public, private или protected).
Профиль
25.10.2011 21:22:57 Правильный ли код Сообщение #9
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, сейчас исправлю)
Профиль
25.10.2011 23:05:46 Правильный ли код Сообщение #10
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Вот я поставил уровень доступа, только есть проблемма. Не проходит выполнение функция public function checkDataPassReg(), пишет, что не все данные введены, хотя введено всё, в чём может быть ошибка?
registration.php
<?php
class registration {
public $log;
public $pass;
public $repeatpass;
public function __construct() {
$this->log = $log;
$this->pass = $pass;
$this->repeatpass = $repeatpass;
}
public function checkDataLoginRegAuth() {
if (isset($this->log)) {
if ($this->log == '') {
unset($this->log);
}
}
}
public function checkDataPassLog() {
$log = $_POST['login'];
if (isset($_POST['password'])) { $pass=md5($_POST['password']); if ($pass =='') { unset($pass);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($log) or empty($pass)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
}
}

public function checkDataPassReg() {
if (isset($this->pass)) {
if ($this->repeatpass == $this->pass) {
if (($this->pass == '') || ($this->repeatpass == '')) {
exit ("Введите данные заново";
}
}
else {
exit ("Пароли не совпадают!";
}
}
if ((empty($this->log)) || (empty($this->pass))) {
exit ("Обязательные поля должны быть заполнены!";
}

}

public function insertDataReg() {
$name = $_POST['name'];
$insert = mysql_query ("INSERT INTO users (login, name, password) VALUES('$this->log', '$name', '$this->pass')";
if ($insert == 'TRUE')
{
echo "Вы успешно зарегистрированы!";
}
else {
echo "Ошибка при регистрации!";
}
}

public function insertDataAuth() {
$result = mysql_query("SELECT * FROM users WHERE login='$this->log'"; //извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($result);
if (empty($myrow['password']))
{
//если пользователя с введенным логином не существует
exit ("Извините, введённый вами login или пароль неверный.";
}
else {
//если существует, то сверяем пароли
if ($myrow['password']==$pass) {
//если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
$_SESSION['login']=$myrow['login'];
$_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
echo "Вы успешно вошли на сайт! <a href='/index.php'>Главная страница</a>";
}
else {
//если пароли не сошлись

exit ("Извините, введённый вами login или пароль неверный.";
}
}


}


}

?>

reg.php
<?php
require_once "classes/dbconnect.php";
require_once "classes/registration.php";
$registr = new registration($_POST['login'], $_POST['password'], $_POST['repeatpass']);
echo $registr->checkDataLoginRegAuth();
echo $registr->checkDataPassReg();
echo $registr->insertDataReg();
?>
Профиль