Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [problem] funkcja wyloguj
Forum PHP.pl > Forum > PHP
FdEf
Mam problem nie potrafie napisac funkcji wylogowujacej mógłby mi ktos pomóc?? Nie chce równiez zeby była ona oparta na cookies,sesjach.
Jak by ktos miał jakies materiały byłbym bardzo wdzieczny.
lenczewski
żeby się wylogować, musisz się najpierw zalogować. Napisz nam w jaki sposób się logujesz.
FdEf
Oto plik.index.php

  1. <?php
  2.  
  3.  
  4. //Załadowanie podstawowego 
  5.  
  6. //pliku konfiguracyjnego
  7.  
  8. require_once('config/logo/application.inc.php');
  9.  
  10.  
  11.  
  12. try{
  13.  
  14. //Próba zainicjowania połączenia z bazą danych
  15.  
  16. DBManager::init();
  17.  
  18.  
  19.  
  20. //Załadowanie skryptu autoryzacji
  21.  
  22. if (isset($_POST['username']) && isset($_POST['password'])) {
  23.  
  24. try {
  25.  
  26.  
  27. //Wykonanie autoryzacji
  28.  
  29. User::authorize_user($_POST['username'], $_POST['password']);
  30.  
  31.  
  32.  
  33.  // $insertGoTo="templates/root/root.template.php";  
  34.  // echo "<script language="JavaScript">";
  35.  // echo "window.location = '$insertGoTo' ";
  36. // echo "</script>";
  37.  
  38.  
  39.  
  40.  
  41.  
  42. } catch (AuthError $err) {
  43.  
  44. //Autoryzacja przebiegła niepomyœlnie
  45.  
  46. echo'Przepraszamy!</br>';
  47. echo'Podałe¶ zły login lub hasło';
  48.  
  49.  
  50.  
  51. }
  52.  
  53.  
  54.  
  55.  
  56.  
  57. }  
  58.  
  59. } catch (DBError $err) {
  60.  
  61. exit('Error: '.$err->getMessage());
  62.  
  63. }
  64.  
  65.  
  66.  
  67. ?>
  68.  
  69. A TO plik weryfikacji usera 
  70.  
  71.  
  72. <?php
  73. //Klasa błędu dla klasy User
  74. class AuthError extends Error {}
  75.  
  76. //Klasa User odpowiada za obsługę operacji związanych
  77. //z użytkownikami aplikacji
  78. class User {
  79. //Identyfikator użytkownika 
  80. private $_Id;
  81. //Adres E-mail użytkownika
  82. private $_Email;
  83.  
  84. // Konstruktor klasy
  85. public function __construct($userdata = NULL){
  86. foreach ($userdata as $key => $value) { 
  87. switch (strtolower($key)) {
  88. case 'usr_id':
  89. $this->setId($value);
  90. break;
  91. case 'uinfo_email':
  92. $this->setEmail($value);
  93. break;
  94. }
  95. }
  96. }
  97.  
  98. // Metody ustawiające wartoœci właœciwoœci klasy
  99. public function setId($id){$this->_Id = $id; }
  100. public function setEmail($email){$this->_Email = $email;}
  101.  
  102. // Metody zwracające wartoœci właœciwoœci klasy
  103. public function getId() {return $this->_Id;}
  104. public function getEmail() {return $this->_Email;}
  105.  
  106. // Metoda autoryzująca użytkownika
  107. public static function authorize_user ($userLogin, $userPassword) {
  108. // SprawdŸ, czy istnieje konto użytkownika
  109. $sqlquery = 'SELECT * FROM Users WHERE Users.USER = "'.htmlspecialchars($userLogin).'"';
  110. $result = DBManager::Query($sqlquery);
  111. // Pobranie wyników zapytania
  112.  if ($user = &$result->fetchRow(DB_FETCHMODE_ASSOC)) {
  113.  if ($user['PASSWORD'] == md5($userPassword))
  114.  {
  115. if($user['ID']==1){ //przeniesienie za pomoca java script -->brak mozliwosci przeniesienia
  116.  // za pomoc± funkcji header()
  117.  $insertGoTo="templates/root/root.template.php";  
  118. echo "<script language="JavaScript">";
  119. echo "window.location = '$insertGoTo' ";
  120. echo "</script>";
  121.  
  122. }
  123. if($user['ID']==2){
  124.  $insertGoTo="templates/user/user.template.php";  
  125. echo "<script language="JavaScript">";
  126. echo "window.location = '$insertGoTo' ";
  127. echo "</script>";
  128. }
  129.  return new User($user);
  130.  }
  131. }
  132.  
  133.  
  134.  
  135.  
  136. //Błąd autoryzacji
  137. throw new AuthError('Błąd autoryzacji - Użytkownik lub/i hasło niepoprawne!');
  138. }
  139. }
  140. ?>


Nie wiem czy to dobry ale ze wzgledu na o ze mój system logowań nie jest obarty na sesjach czy ciasteczkach pomyslałem ze moze zrobie sobie funkcje która by mnie cofała do index.php a nastepnie blokowała przycisk w przegladarce forward czy istnieje takie cosik?? Słszałem o funkcji w javaScript echo '<a href="java script:history.go(-1);"> Wstecz</a>'; , ale ona zbyt se nie nadaje.
Poszę o pomoc
jastu
Proponuję wykorzystanie sesji lub napisania swojego kontrolera sesji - po tym sprawa wylogowania jest już prosta . pozdr
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.