Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Авторизация и переход в личную папку

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Авторизация и переход в личную папку
SkyRewir
Отправлено: 19 Октября, 2017 - 13:11:28
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Окт. 2017  


Помог: 0 раз(а)




Добрый день!
Помогите пожалуйста с реализацией задумки(новичок, сильно не ругайте).
Суть задумки:
Есть главная страница index.php с таким содержанием(авторизация), подскажите если что-то не так или не правильно сделано
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. require_once('bd/bd.php');
  4.         if (isset($_POST['auth_button'])) {
  5.                 if (!empty($_POST['login']) && !empty($_POST['password'])) {
  6.                         $login = mysqli_escape_string($link,htmlspecialchars(strip_tags($_POST['login'])));
  7.                         $password = md5(mysqli_escape_string($link,htmlspecialchars(strip_tags($_POST['password']))));
  8.                         $result = mysqli_query($link, "SELECT * FROM user WHERE login = '$login' AND password = '$password'");
  9.                         $result = mysqli_fetch_array($result);#Ответ от БД в виде массива
  10.                         if (($result["login"] == $login) && ($result["password"] == $password)) {
  11.                                 $error = "Здравствуйте, ".$result['name'];
  12.                         }
  13.                         else{
  14.                                 unset($login, $password);
  15.                                 $error = "Доступ закрыт";
  16.                         }
  17.                 }
  18.       else{
  19.         unset($_POST['login'], $_POST['password']);
  20.         $error = "Не заполнен логин или пароль";
  21.       }
  22. }
  23. ?>
  24. <!DOCTYPE html>
  25. <html lang="en">
  26. <head>
  27.         <meta charset="UTF-8">
  28.         <title>Вход</title>
  29.         <link rel="stylesheet" type="text/css" href="style/auth.css">
  30.        
  31.         <meta name="viewport" content="width=device-width; initial-scale=1.0">
  32. </head>
  33. <body>
  34.         <form action="<?$_SERVER['PHP_SELF'];?>" method="POST">
  35.                 <h1>Вход</h1>
  36.                 <label>Логин <input type="text" name="login" id="login"></label>
  37.                 <label>Пароль <input type="password" name="password" id="password"></label>
  38.                 <button type="submit" name="auth_button" id="auth_button">Вход</button>
  39.                 <p id="error"><?echo $error?></p>
  40.         </form>
  41. </body>
  42. </html>
  43.  

После авторизации пользователь может перейти в личную папку,которая будет хранить его файлы (Создание личной папки будет производиться в ручную, временно)
Подскажите как это можно реализовать?
 
 Top
Vladimir Kheifets
Отправлено: 20 Октября, 2017 - 15:32:02
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




SkyRewir пишет:
Добрый день!
Помогите пожалуйста с реализацией задумки(новичок, сильно не ругайте).
Суть задумки:
Есть главная страница index.php с таким содержанием(авторизация), подскажите если что-то не так или не правильно сделано
Спойлер (Отобразить)

После авторизации пользователь может перейти в личную папку,которая будет хранить его файлы (Создание личной папки будет производиться в ручную, временно)
Подскажите как это можно реализовать?


Добрый день!

Принцип: Линки на заход в личный кабинет и на изменение данных профиля открываются на стартовой странице после успешной авторизации.

1. Ставите в индексе пустой контейнер для линков, например:
CODE (html):
скопировать код в буфер обмена
  1. <div id="idLink"></div>
  2. или
  3. <td id="idLink"></td>


2.Затем пишите iframe:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <iframe src='.....' id='iframe_id' height="0" width="0" frameborder='0'
  2.     onLoad="IframeToObj(this.id,idLink)" style="visibility:hidden;">
  3. </iframe>

3. В этот iframe грузите PHP-скрипт проверяюший авторизацию, и в случае успеха генерирущий линки

4. Этот JS скопирует содеожимое iframe между <body></body> в контейнер.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. function IframeToObj(idf,ido){
  4.       iframe = document.getElementById(idf);
  5.       iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
  6.       IframeInnerHTML = iframeDocument.body.innerHTML;
  7.       Obj=window.document.getElementById(ido);
  8.       Obj.innerHTML = iframeDocument.body.innerHTML;
  9. }
  10. </script>
  11.  


Такой же принцип можно использовать для линков на корзину заказов

Удачи!

(Отредактировано автором: 20 Октября, 2017 - 15:41:00)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB