Закрыть ... [X]

Как сделать базу данных для самп

Страница 1 из 1 1 Модератор форума: Junger, tumkin   Как сделать личный кабинет для самп сервера RolanLog Дата: Пятница, 11.03.2016, 20:49 | Сообщение # 1

Новичок

Сообщений: 25

Статус: Offline

Всем привет, я расскажу как сделать личный кабинет для сервера самп.
Мод должен быть на MySQL это важно!
Для того что-бы создать личный кабинет нужно два файла.
index.html - где будут вводится логин и пароль аккаунта.
login.php - тут будет сам личный кабинет
Приступим:
Для начала сделаем форму входа:

Код


// index.html
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Вход</title>
</head>
<body>
<form action='login.php' method='POST'> // форма
<input type='text' name='login'> // сюда будет вводится ник
<input type='password' name='password'> // сюда будет вводится пароль
<input type='submit' name='submit' value='Войти'>
</form>
</body>
</html>


У формы (<form>) есть два атрибута, action и method.
Action - куда будет переходить страница при нажатии кнопки.
Method - метод, их два, POST и GET
Форма готова, осталось самое сложное, подключить базу данных, сделать проверку на существование пользователя и сделать таблицу. Почти для каждой строки буду делать комментарий что-бы вы понимали.

Код


// login.php
      if (isset($_POST['submit'])) { // проверка нажатия кнопки, можно написать без isset, if ($_POST['submit'])
      // подключение базы данных (где хранятся аккаунты)
       define('HOST', "localhost"); // хост
       define('USER', "root"); // пользователь
       define('PASSWORD', ""); // пароль (На локальных серверах его нету)
       define('DB', "samp"); // Название базы данных

       $connect = как сделать базу данных для самп mysql_connect(HOST, USER, PASSWORD); // подключение к mysql
       mysql_select_db(DB, $connect); // подключение базы данных

       $login = $_POST['login']; // теперь в $login хранится введённое значение которое мы писали в логин
       $password = $_POST['password']; // аналогично логину
       
       $sql = "SELECT FROM `accounts` WHERE `login` = '%s' AND `password` = '%s'"; // Запрос. Вместо `accounts` свою таблицу, вместо `login` и `password` свои, подробнее о них в конце.
       $query = sprintf($sql, mysql_real_escape_string($login), mysql_real_escape_string($password)); // защита от инъекций
       $result = mysql_query($query); // обрабатываем запрос
       $row = mysql_fetch_assoc($result); // преобразовываем запрос в значения rows
     
       if ($login == $row['login'] && $password == $row['password']) { // проверка существования пользователя
               echo "Информация о аккаунте";
               $table = "<table border='1'>";
               $table.= "<tr>";
               $table.= "<td>Ник:</td>";
               $table.= "<td>".$row['login']."</td>";
               $table.= "</tr>";
               $table.= "<tr>";
               $table.= "<td>Пароль:</td>";
               $table.= "<td>".$row['password']."</td>";
               $table.= "</tr>";
               $table.= "</table>";
               echo $table;
           } else {
               echo "<center><h1>Логин/пароль неверен</h1></center>"; // если логин и пароль не найден в базе данных
           }
       } else {
             header("Location: index.html", true, 303); // если кнопка была не нажата перебрасывает на гл. страницу.
       }


О sql запросе:
По русски он выглядит так: выделить всё в таблице `accounts` где login равен строковому типу, аналогично с паролем
Что такое `login`, row['login']? Это в phpmyadmin не знаю как объяснить, вот скриншот: http://imgur.com/GDPM8rC | row['login'] - вывести значение с базы данных
Вы поняли smile В моём случае можно в таблицу вывести и email. У меня всего 3 rows это: login, password, email.
Если вы чего-то не поняли или хотите что-бы я вам сделал (Бесплатно), т.е. если у вас что-то не получается пишите в вконтакте: клик

Добавлено (24.02.2016, 02:04)
---------------------------------------------
UPD:
Исправил код таблицы.

Добавлено (11.03.2016, 20:49)
---------------------------------------------
Добавил защиту от SQL Инъекций

Сообщение отредактировал RolanLog - Воскресенье, данных 13.03.2016, 23:50

Последние товары с игрового магазина:

[CM]AnyBoom Дата: Суббота, 12.03.2016, 23:31 | Сообщение # 2

Любитель

Сообщений: 48

Статус: Offline

Припиши к название темы: "[ГОВНОКОД]".
Ну или в теме напиши: "Никогда так не писать, новички".

Последние товары с игрового магазина:

Just-A-Man Дата: Воскресенье, 13.03.2016, 04:42 | Сообщение # 3

Coder

Сообщений: 446

Статус: Offline

1. Данные бд и соединение с бд лучше держать в отдельном файле, чтобы не писать код по сто раз, а просто заинклюдить.
2. MySQL устарела, сейчас используют MySQLi или PDO.
3. Построчно производить конкатенацию оператором (.=)
4. Без куки или сессий придется каждый раз писать логин и пароль при заходе на страницу login.php
5. Согласен с [CM]AnyBoom, никогда не пишите так. Быдло-код.

Последние товары с игрового магазина:

RolanLog Дата: Воскресенье, 13.03.2016, 23:56 | Сообщение # 4

Новичок

Сообщений: 25

Статус: Offline

Just-A-Man, это самый минимальный код, я не собирался делать сверх-личный кабинет. На mysqli у меня не выходит сделать защиту от инъекций. Ну вообще работает, но я недавно делал сайт методами Ajax, и у меня не получилось. Куки/сессии, я уже сказал что я делал минимальный код, по желанию могу добавить. AnyBoom написал Говно-код из-за того что я не сделал защиту от SQL инъекций, вот я их и добавил)

Сообщение отредактировал RolanLog - Воскресенье, 13.03.2016, 23:57

Последние товары с игрового магазина:

Just-A-Man Дата: Вторник, 15.03.2016, 00:46 | Сообщение # 5

Coder

Сообщений: 446

Статус: Offline

Цитата RolanLog ()

На mysqli у меня не выходит сделать защиту от инъекций


mysqli_real_escape_string($link, $string)
$link - дескриптор соединения
$string - строка Цитата RolanLog ()

AnyBoom написал Говно-код из-за того что я не сделал защиту от SQL инъекций


мне кажется не только из-за этого

Последние товары с игрового магазина:

Страница 1 из 1 1 Статистика Форума Последнии темы Читаемые темы Лучшие пользователи Новые пользователи [6]>Сэс [4429] Dro [08.11.2017|00:16] mel222 [07.11.2017|23:49]

CM Team © 2009-2017 Администрация не несёт ответственности за размещённые материалы. Условия пользования

Магазин GTA SA:MP | купить аккаунт САМП,Магазин STEAM аккаунтов,Аккаунты CS:GO,купить Аккаунты GTA5,купить Аккаунты Playerunknown's Battlegrounds, Аккаунты Warface,Магазин World of Tanks,Магазин аккаунтов SAMP,STEAM,Origin,WoT,Warface,Купить аккаунт samp,купить аккаунт steam недорого читы Counter Strike: GO,читы GTA Online,читы World of Tanks Баги samp-rp,arp,drp,читы samp,аккаунты самп,Баги advadce-rp,читы advance-rp,аккаунты адванс,баги даймонд-рп,баги читы diamond-rp,Скачать собейт для самп 0.3.7,sobeit for samp 0.3.7


▲ Наверх


Источник: http://cheat-master.ru/forum/131-562384-1

Поделись с друзьями



Рекомендуем посмотреть ещё:



Брут: как создать базу для брута Шуточные поздравления с днем рождения бывшей



Как сделать базу данных для самп Ответы База данных сервера SAMP
Как сделать базу данных для самп Как сделать базу данных? - elHow
Как сделать базу данных для самп Брут для samp Базы для брута
Как сделать базу данных для самп 4 Национальные основы систем управления охраной труда
Как сделать базу данных для самп B-flexy антицеллюлитный массаж кто делал?
ISanteh лучший интернет магазин сантехники в Москве Билеты в музеи, на выставки Москвы, абонементы ЕЦБО Европейский центр бизнес-образования Искусство стран и народов мира - Музей Арт-Рисунок Конкурс Лучшие кадровые технологии Лазерная шлифовка - «К чему привела мечта избавиться от Мастер-класс для музыкальных руководителей ДОУ Поздравления на 2 года ребенку - мальчику, девочке

ШОКИРУЮЩИЕ НОВОСТИ