Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [problem] funkcja wyloguj
FdEf
post 9.11.2006, 00:56:24
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.07.2006

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


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.

Ten post edytował FdEf 9.11.2006, 01:00:12
Go to the top of the page
+Quote Post
lenczewski
post 9.11.2006, 00:58:31
Post #2





Grupa: Zarejestrowani
Postów: 159
Pomógł: 1
Dołączył: 31.08.2005

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


żeby się wylogować, musisz się najpierw zalogować. Napisz nam w jaki sposób się logujesz.


--------------------
Go to the top of the page
+Quote Post
FdEf
post 9.11.2006, 15:30:32
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.07.2006

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


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
Go to the top of the page
+Quote Post
jastu
post 9.11.2006, 19:32:02
Post #4





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


Proponuję wykorzystanie sesji lub napisania swojego kontrolera sesji - po tym sprawa wylogowania jest już prosta . pozdr


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:27