battles/user_anketa.php

89 lines
2.8 KiB
PHP
Raw Normal View History

<?php
2018-01-28 16:40:49 +00:00
session_start();
if (empty($_SESSION['uid'])) {
header('Location: /index.php');
exit();
}
include_once('functions.php');
if ($user->battle) {
header('Location: /fbattle.php');
exit();
}
2020-07-03 15:39:46 +00:00
use Krugozor\Database\Mysql\Mysql as Mysql;
$db = Mysql::create("192.168.20.100", "battles", "bottle-neck-horse")
->setDatabaseName("battles")
->setCharset("utf8");
define('INFO_CHAR_LIMIT', 1500);
2018-03-04 01:14:13 +00:00
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
2018-03-02 15:31:43 +00:00
$oldpsw = filter_input(INPUT_POST, 'oldpsw', FILTER_SANITIZE_SPECIAL_CHARS);
$newpsw = filter_input(INPUT_POST, 'newpsw', FILTER_SANITIZE_SPECIAL_CHARS);
$color = filter_input(INPUT_POST, 'color', FILTER_VALIDATE_INT);
2018-03-04 01:14:13 +00:00
$hobbie = filter_input(INPUT_POST, 'hobbie', FILTER_SANITIZE_STRING);
2018-03-02 17:23:17 +00:00
$hobbie = str_replace("\\n", "<br />", $hobbie);
$hobbie = str_replace("\\r", "", $hobbie);
$hobbie = str_replace("&lt;br&nbsp;/&gt;", "<br />", $hobbie);
if ($name || $color || $hobbie) {
2018-01-28 16:40:49 +00:00
$simbolcount = strlen($hobbie);
switch ($color) {
case 1:
$color = 'blue';
break;
case 2:
$color = 'green';
break;
default:
$color = 'black';
break;
}
2018-01-28 16:40:49 +00:00
if ($simbolcount > INFO_CHAR_LIMIT) {
err('Максимальная длинна поля Хобби: ' . INFO_CHAR_LIMIT . ' символов!');
} else {
$values = ['realname' => $name, 'color' => $color, 'info' => $hobbie];
2020-07-03 15:39:46 +00:00
$db->query('UPDATE users SET ?As WHERE id = ?i', $values, $user['id']);
}
2018-01-28 16:40:49 +00:00
}
2018-03-02 15:31:43 +00:00
if ($oldpsw && $newpsw) {
if (password_verify($oldpsw, $user['pass'])) {
db::c()->query('UPDATE `users` SET `pass` = "?s" WHERE `id` = ?i', password_hash($newpsw, PASSWORD_DEFAULT), $user['id']);
} else {
err('Неверный текущий пароль!');
}
2018-03-02 15:31:43 +00:00
}
2018-01-28 16:40:49 +00:00
?>
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="css/main.css">
<title>Анкета</title>
</head>
<body>
<a href="main.php"> на главную</a>
2018-03-03 20:59:09 +00:00
<h1>Анкета персонажа <?= $user['login'] ?></h1>
<form method="post" action="user_anketa.php">
2018-03-03 20:59:09 +00:00
<input name="name" placeholder="Реальное имя" value="<?= $user['realname']; ?>"><br>
<select name="color" id="color">
<option value="0" selected>Чёрный</option>
<option value="1">Синий</option>
<option value="2">Зелёный</option>
</select><label for="color"></label><br>
2018-03-03 20:59:09 +00:00
<textarea name="hobbie" placeholder="Хобби"><?= $user['info'] ?></textarea><br>
<input name="submit" type="submit">
</form>
2018-03-02 15:31:43 +00:00
<h1>Безопасность</h1>
<form method="post" action="user_anketa.php">
<input placeholder="Старый пароль" name="oldpsw">
<input placeholder="Новый пароль" name="newpsw">
<input type="submit">
</form>
</body>
2018-01-28 16:40:49 +00:00
</html>