Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana skryptu logowania
MiQss
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.06.2014

Ostrzeżenie: (0%)
-----


Witam, od razu mówię że za bardzo się nie znam na PHP, lecz muszę z lekka zmienić podany skrypt logowania, tak aby przekierowanie na stronę nie odbywało się na hide.php tylko na stronę, która nazywa się tak samo jak login użytkownika np. admin.php

KOD:
  1. <?php session_start();
  2. require_once('db.php');
  3. ?>
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <link href="css/style.css" rel="stylesheet" type="text/css" />
  7. <title>Skrypt logowania z wykorzystaniem PHP i bazy MySQL</title>
  8. <meta name="description" content="Kurs jQuery" />
  9. <meta name="keywords" content="kurs, jquery, mlaskowski.pl" />
  10. </head>
  11.  
  12.  
  13. <?php
  14. /* jeżeli nie wypełniono formularza - to znaczy nie istnieje zmienna login, hasło i sesja auth
  15. * to wyświetl formularz logowania
  16. */
  17. if (!isset($_POST['login']) && !isset($_POST['password']) && $_SESSION['auth'] == FALSE) {
  18. ?>
  19.  
  20. <form name="form-logowanie" action="index.php" method="post">
  21. Login: <input type="text" name="login" /><br />
  22. Hasło: <input type="password" name="password" />
  23. <input type="submit" name="zaloguj" value="Zaloguj" />
  24. </form>
  25.  
  26. <?php
  27. }
  28. /* jeżeli istnieje zmienna login oraz password i sesja z autoryzacją użytkownika jest FALSE to wykonaj
  29. * skrypt logowania
  30. */
  31. elseif (isset($_POST['login']) && isset($_POST['password']) && $_SESSION['auth'] == FALSE) {
  32.  
  33. // jeżeli pole z loginem i hasłem nie jest puste
  34. if (!empty($_POST['login']) && !empty($_POST['password'])) {
  35.  
  36. // dodaje znaki unikowe dla potrzeb poleceń SQL
  37. $login = mysql_real_escape_string($_POST['login']);
  38. $password = mysql_real_escape_string($_POST['password']);
  39.  
  40. // szyfruję wpisane hasło za pomocą funkcji md5()
  41. $password = md5($password);
  42.  
  43. /* zapytanie do bazy danych
  44. * mysql_num_rows - sprawdzam ile wierszy odpowiada zapytaniu mysql_query
  45. * mysql_query - pobierz wszystkie dane z tabeli user gdzie login i hasło odpowiadają wpisanym danym
  46. */
  47. $sql = mysql_num_rows(mysql_query("SELECT * FROM `user` WHERE `login` = '$login' AND `password` = '$password'"));
  48.  
  49. // jeżeli powyższe zapytanie zwraca 1, to znaczy, że dane zostały wpisane poprawnie i rejestruję sesję
  50. if ($sql == 1) {
  51.  
  52. // zmienne sesysje user (z loginem zalogowanego użytkownika) oraz sesja autoryzacyjna ustawiona na TRUE
  53. $_SESSION['user'] = $login;
  54. $_SESSION['auth'] = TRUE;
  55.  
  56. // przekierwuję użytkownika na stronę z ukrytymi informacjami
  57. echo '<meta http-equiv="refresh" content="1; URL=hide.php">';
  58. echo '<p style="padding-top:10px";><strong>Proszę czekać...</strong><br />trwa logowanie i wczytywanie danych</p>';
  59. }
  60.  
  61. // jeżeli zapytanie nie zwróci 1, to wyświetlam komunikat o błędzie podczas logowania
  62. else {
  63. echo '<p style="padding-top:10px;color:red";>Błąd podczas logowania do systemu<br />';
  64. echo '<a href="index.php">Wróć do formularza</a></p>';
  65. }
  66. }
  67.  
  68. // jeżeli pole login lub hasło nie zostało uzupełnione wyświetlam błąd
  69. else {
  70. echo '<p style="padding-top:10px;color:red";>Błąd podczas logowania do systemu<br />';
  71. echo '<a href="index.php">Wróć do formularza</a></p>';
  72. }
  73. }
  74.  
  75. // jeżeli sesja auth jest TRUE to przekieruj na ukrytą podstronę
  76. elseif ($_SESSION['auth'] == TRUE && !isset($_GET['logout'])) {
  77. echo '<meta http-equiv="refresh" content="1; URL=hide.php">';
  78. echo '<p style="padding-top:10px"><strong>Proszę czekać...</strong><br />trwa wczytywanie danych</p>';
  79. }
  80.  
  81. // wyloguj się
  82. elseif ($_SESSION['auth'] == TRUE && isset($_GET['logout'])) {
  83. $_SESSION['user'] = '';
  84. $_SESSION['auth'] = FALSE;
  85. echo '<meta http-equiv="refresh" content="1; URL=index.php">';
  86. echo '<p style="padding-top:10px"><strong>Proszę czekać...</strong><br />trwa wylogowywanie</p>';
  87. }
  88. ?>
  89.  
  90. </body>
  91.  
  92. </html>


Dzięki!

Ten post edytował MiQss 27.06.2014, 08:52:49
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 01:07