Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Probel ze skryptem logowania SQLite, przeróbka z mysql na sqlite
-no-
post
Post #1





Goście







Mam taki sobie skrypt logowania wykorzystujący bazę danych MySQL:
  1. <?php
  2. class clogowanie {
  3.  
  4. var $login; // przechowuje nazwę użytkownika
  5. var $passw; // hasło
  6. var $conn; // identyfikator bd
  7. var $text; // małe menu
  8. var $napis; // informacja o dodanym userze
  9.  
  10. function clogowanie() {
  11. // zczytywanie wartości zmiennych
  12.  @$this -> passw = $_POST['passw'];
  13.  @$this -> login = $_POST['login'];
  14. }
  15.  
  16. function flaczenie() {
  17. // łaczenie z bazą danych
  18.  $this -> conn = @mysql_connect("127.0.0.1","root","krasnal"); // te trzy parametry nalezy zmienić
  19.  mysql_select_db("logowanie", $this -> conn);
  20. }
  21.  
  22. function flogowanie() {
  23. // sprawdzanie czy jest taki user w BD i czy ma takie hasło
  24.  
  25.  $query = "SELECT passw FROM users WHERE user LIKE '".$this -> login."';";  // zapytanie do bd
  26.  $wynik = mysql_query($query);
  27.  $myrow = mysql_fetch_array($wynik); // to go zczytaj
  28.  
  29. if ($myrow["passw"] == $this -> passw && $this -> passw != "") {
  30.  $info = array(
  31. 'login' => $this -> login,
  32. 'czas' => time() + 300 );
  33.  $_SESSION["yarpoLOG"] = $info;
  34.  header('Location: menu.php');
  35. } else {
  36.  header('Location: index.htm');
  37. }
  38. }
  39.  
  40. function flogout() {
  41. // wylogowane
  42.  header('Location: index.htm');
  43. }
  44.  
  45. function fsesja() {
  46. // ponawianie sesji
  47.  session_start();  // uruchom sesję
  48.  
  49.  if (!isset($_SESSION['yarpoLOG'])) {
  50. header('Location: index.htm'); // jeśli nie ma sesji[niezalogowany], to ładuj index.htm
  51.  } else {
  52.  if ($_SESSION['yarpoLOG']['czas'] > time()) :  // jeśli od logowania do teraz minęło < 300
  53. $this->text="<p class=log01><a href='wyloguj.php' class='log02'>wyloguj: ".$_SESSION['yarpoLOG']['login']."</a></p>".
  54.  "<p class=log01><a href='menu.php' class='log02'>odśwież</a></p>";
  55.  $_SESSION['yarpoLOG']['czas'] = time() + 300; // i zapisz nowe info
  56.  else :
  57.  header('Location: index.htm');
  58.  endif;
  59.  }
  60. }
  61.  
  62. function fdodajUsera() {
  63.  $query = "INSERT INTO users (user, passw) VALUES ('".$this -> login."', '".$this -> passw."');";
  64.  if (mysql_query($query)) $this -> napis = "Poprawnie dodano uzytkownika";
  65.  else $this -> napis = "Nie udało się dodać użytkownika:-(";
  66. }
  67. } // koniec klasy
  68. ?>

[tutaj obsługuje się logowanie, wylogowywanie i dodawanie usera]
ale nie posiadam bazy MySQL a jedynie SQLite, więc myśle to SQL i to SQL więc sobie przerobie skrypta ;-) Wyszło mi coś takiego:
  1. <?php
  2.  
  3. class clogowanie {
  4.  
  5. var $login; // przechowuje nazwę użytkownika
  6. var $passw; // hasło
  7. var $conn; // identyfikator bd
  8. var $text; // małe menu
  9. var $napis; // informacja o dodanym userze
  10.  
  11. function clogowanie() {
  12. // zczytywanie wartości zmiennych
  13.  @$this -> passw = $_POST['passw'];
  14.  @$this -> login = $_POST['login'];
  15. }
  16.  
  17. function flaczenie() {
  18. // łaczenie z bazą danych
  19.  $this -> conn = sqlite_open('books.db');
  20. }
  21.  
  22. function flogowanie() {
  23.  
  24.  $query = "SELECT passw FROM users WHERE user LIKE '".$this -> login."';";  // zapytanie do bd
  25.  $wynik = sqlite_query($query);
  26.  $myrow = sqlite_fetch_array($wynik); // to go zczytaj
  27.  
  28. if ($myrow["passw"] == $this -> passw && $this -> passw != "") {
  29.  $info = array(
  30. 'login' => $this -> login,
  31. 'czas' => time() + 300 );
  32.  $_SESSION["yarpoLOG"] = $info;
  33.  header('Location: menu.php');
  34. } else {
  35.  header('Location: index.htm');
  36. }
  37. }
  38.  
  39. function flogout() {
  40. // wylogowane
  41.  header('Location: index.htm');
  42. }
  43.  
  44. function fsesja() {
  45. // ponawianie sesji
  46.  session_start();  // uruchom sesję
  47.  
  48.  if (!isset($_SESSION['yarpoLOG'])) {
  49. header('Location: index.htm'); // jeśli nie ma sesji[niezalogowany], to ładuj index.htm
  50.  } else {
  51.  if ($_SESSION['yarpoLOG']['czas'] > time()) :  // jeśli od logowania do teraz minęło < 300
  52. $this->text="<p class=log01><a href='wyloguj.php' class='log02'>wyloguj: ".$_SESSION['yarpoLOG']['login']."</a></p>".
  53.  "<p class=log01><a href='menu.php' class='log02'>odśwież</a></p>";
  54.  $_SESSION['yarpoLOG']['czas'] = time() + 300; // i zapisz nowe info
  55.  else :
  56.  header('Location: index.htm');
  57.  endif;
  58.  }
  59. }
  60.  
  61. function fdodajUsera() {
  62.  $query = "INSERT INTO users (user, passw) VALUES ('".$this -> login."', '".$this -> passw."');";
  63.  if (mysql_query($query)) $this -> napis = "Poprawnie dodano uzytkownika";
  64.  else $this -> napis = "Nie udało się dodać użytkownika:-(";
  65. }
  66. } // koniec klasy
  67. ?>

ale jednak taki skrypt nie działa... zwraca mi:
Cytat
Warning: sqlite_query() expects at least 2 parameters, 1 given in c:\usr\krasnal\www\sqlitemanager\skrypt\classLogowanie.php on line 26

Warning: sqlite_fetch_array() expects parameter 1 to be resource, null given in c:\usr\krasnal\www\sqlitemanager\skrypt\classLogowanie.php on line 27

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\sqlitemanager\skrypt\classLogowanie.php:26) in c:\usr\krasnal\www\sqlitemanager\skrypt\classLogowanie.php on line 36

Co tam jest źle? Mógłby mi ktoś pomóc to przerobić....
Albo zapodać inny skrypt logowania na SQLite.

Z góry dziękuje.
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: 20.08.2025 - 05:23