Sility hai 3 meses
achega
9625b624d0
Modificáronse 6 ficheiros con 135 adicións e 0 borrados
  1. 45 0
      cabinet.php
  2. 7 0
      db.php
  3. 15 0
      delete.php
  4. 21 0
      index.php
  5. 25 0
      reg.php
  6. 22 0
      update.php

+ 45 - 0
cabinet.php

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <?php
+        $mail = $_GET['mail']; //Получаем почту из массива GET
+        $id = $_GET['id']; //Получаем id из массива GET
+
+        require_once('db.php'); //Подключаем базу
+
+        $sql = "SELECT * from `user` WHERE mail = '$mail'"; //Запрос на чтение всех данных
+
+        $result = $conn->query($sql); //Аналогично из инструкций к файлу reg.php
+
+        if ($result->num_rows > 0) {
+            while ($row = $result->fetch_assoc()) {
+                echo "Ваше имя -" . $row['name'].'<br>'; //Вывели данные
+                echo "Ваш Email -" . $row['mail'].'<br>'; //Вывели данные
+                echo "Ваше пароль -" . $row['password'].'<br>'; //Вывели данные
+            };
+        };
+    ?>
+
+    <!-- Это форма на обновление данных в БД -->
+    <form action="update.php" method="POST">
+        <input type="text" name="name" placeholder="Введите новое Имя">
+        <input type="login" name="mail" placeholder="Введите новый Email">
+        <input type="password" name="password" placeholder="Введите новый пароль">
+        <!-- Скрытый input с атрибутом hidden, который не видно на странице, но он также передает данные, в данном случае ID -->
+        <input type="hidden" name="id" value=<?=$id?>> 
+        <input type="submit" value="Изменить">
+    </form>
+
+    <!-- Это форма на удаление данных в БД -->
+    <form action="delete.php" method="POST">
+        <!-- Скрытый input с атрибутом hidden, который не видно на странице, но он также передает данные, в данном случае ID -->
+        <input type="hidden" name="id" value="<?=$id?>">
+        <input type="submit" value="Удалить аккаунт">
+    </form>
+</body>
+</html>

+ 7 - 0
db.php

@@ -0,0 +1,7 @@
+<?php
+
+$conn = mysqli_connect('localhost', 'root', '', 'sait'); // Делаем подулючение, обязателен порядок ( 1 - Имя сервера (Указан в phpMyAdmin), 2 - Логин от phpMyAdmin, 3 - Пароль от phpMyAdmin (У меня его нет), 4 - Название базы данных)
+
+if (!$conn) {
+    die('Conection lost...' . mysqli_connect_error()); // Выведет сообщение об ошибке, еслит с подключением проблесмы
+}

+ 15 - 0
delete.php

@@ -0,0 +1,15 @@
+<?php
+
+require_once('db.php');
+
+$id = $_POST['id']; // Принимаем ID из формы на удаление аккаунта
+
+$sql = "DELETE FROM `user` WHERE id = '$id'"; // SQL Запрос на удаление всех данных с ID пользователя
+
+$conn->query($sql); 
+
+unset($_POST['id']); //Удалеме переменную, (чистим кешь)
+
+header('Location: cabinet.php?mail=null&id=null'); //Переадрисация с нулевыми параметрами
+
+exit;

+ 21 - 0
index.php

@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+
+    <!-- Форма через которую всё будет отправлятся -->
+
+    <!-- в action указывайте расположение файла которое выполнит нужное вам действие а в method всегда пишите POST -->
+    <form action="reg.php" method="post">
+        <!-- У каждого input должно быть имя кроме type="submit", через которое мы обратимся к переданным данным в файле, ссылку на который вы указали в action -->
+        <input type="text" name="name" placeholder="Введите имя">
+        <input type="login" name="mail" placeholder="Введите Email">
+        <input type="password" name="password" placeholder="Введите пароль">
+        <input type="submit" value="Зарегистрироваться">
+    </form>
+</body>
+</html>

+ 25 - 0
reg.php

@@ -0,0 +1,25 @@
+<?php
+
+require_once('db.php'); //Подклчение файла для манипуляции с базой
+
+// Это данные которые мы ввели в форме, их мы получаем через глобальный массив POST
+$mail = $_POST['mail']; 
+$name = $_POST['name'];
+$password = $_POST['password'];
+
+$sql = "INSERT INTO `user` (mail, name, password) VALUES ('$mail', '$name', '$password')"; // Это наш SQL запрос на добавление данных в базу
+
+if ($conn->query($sql) === true) { //Не обязательное условие на проверку работоспособности подключения
+
+    $sql2 = "SELECT * FROM `user` WHERE mail= '$mail'"; //SQL запрос на получение всех данных через почту
+    $result = $conn->query($sql2); //Записываем данные для дальнейших манипуляций
+
+        if ($result->num_rows > 0) { //Если данные есть, продолжаем
+            while ($row = $result->fetch_assoc()) { //разбиваем данные, что бы к каждой можно было обратится по отдельности
+                header('Location: cabinet.php?mail=' . urlencode($mail) . '&id=' . urlencode($row['id'])); //тут я передаю id в массив GET путем записи их в url строке, что бы через него удалять и обновлять данные из базы на другой странице (кривой костыль)
+            };
+        };
+    exit; //Завершаем код (ОБЯЗАТЕЛЬНО)
+} else {
+    echo 'Error' . $conn->error; //Вывод ошибки, если таковая есть
+}

+ 22 - 0
update.php

@@ -0,0 +1,22 @@
+<?php
+
+require_once('db.php');
+
+$id = $_POST['id']; //Получаем данные из формы
+$mail = $_POST['mail']; //Получаем данные из формы
+$name = $_POST['name']; //Получаем данные из формы
+$password = $_POST['password']; //Получаем данные из формы
+
+$sql = "UPDATE `user` SET mail = '$mail ', name = '$name ', password = '$password ' WHERE id = '$id'"; //SQL запрос на удаление
+
+if ($conn->query($sql) === true) { // то, что в скобках условия адновременно перезаписывает данные и выдает TRUE если всё выполненое верно
+    $sql2 = "SELECT * FROM `user` WHERE id= '$id'"; //Получаем ID для дальнейшей работы
+    $result = $conn->query($sql2);
+    
+    if ($result->num_rows > 0) { //Предаем данные через URL аналогично примеру из файла reg.php
+        while ($row = $result->fetch_assoc()) {
+            header('Location: cabinet.php?mail=' . urlencode($mail) . '&id=' . urlencode($row['id']));
+        };
+    };
+    exit;
+}