Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Autoryzacja = baza + sesja
Forum PHP.pl > Forum > Przedszkole
Kamis
Mam bazę: userzy a w niej pola: [id_nick][nick][passwd][miasto]

Logowanie odbywa się na 2ch plikach: log.php i logs.php.
log.php - to zwykły formularz... dlatego napisałem już przechwycone dane jako stałe.

Plik logs.php:
  1. <?
  2.  
  3. $nick =&#092;"kamis\";
  4. $passwd =&#092;"qwerty\";
  5.  
  6. $conn = pg_connect (&#092;"host=localhost port=5432 dbname=nazwabazy user=ja password=tajnehaslo\");
  7. $sql=&#092;"SELECT * FROM userzy where nick='$nick' and passwd='$passwd'\";
  8. $wynik = @pg_exec ($conn,$sql);
  9.  
  10. if ($wynik && @pg_num_rows($wynik) > 0)  // liczba userow
  11. {
  12. $_SESSION[&#092;"zalogowanie\"]=\"tak\";
  13. $_SESSION[&#092;"nick\"]=$_POST[\"nick\"];
  14. $_SESSION[&#092;"passwd\"]=$_POST[\"passwd\"];
  15. // Tutaj wstawiam to o co pytam w punkie 2 ?
  16. echo &#092;" Ten login jest już w bazie ! Zalogowano\".$_SESSION[\"nick\"];
  17. }
  18.  
  19. {
  20. echo &#092;"Zły nick lub hasło! Wprowadz ponownie\"; // link do log.php
  21. }
  22. ?>


Na wszystkich stronach w nagłówku:
  1. <?php
  2. ?>

oraz przycisk w wybranym miejscu z "zabijaniem sesji":
  1. <?php
  2. if ($_GET[&#092;"nick\"]==\"logout\") { // user zostaje wylogowany
  3. }
  4. echo &#092;" <a href=\"{$_SERVER[\"PHP_SELF\"]}?nick=logout\">Kliknij by wylogować</a>\";
  5. ?>

To nie działa... tzn. zakłada na serwerze sesję w postaci pustego pliku (jakim cudem tam nic nie siedzi?).

1. Nie loguje (brak zapisu do pliku nick i passwd)
2. Czy mogę wykonać ponowne połączenie z bazą (w kodzie zaznaczyłem miejsce) i wybierać dla danego usera id_user, miasto by zapisać w sesji? Jeśli tak to jak to zrobić ? ;/

Gdzie zrobiłem błąd ? sad.gif Przeczytałem już chyba wszystkie manuale i podobne pytania na forum i nic :[

Nawet drobne podpowiedzi są mile widziane... Jest 3 w nocy sad.gif Już nie widzę na oczy :|
matipl
W którejś tam wersji php należy używać session_register (ja uzywam zawsze). Napisz tak:

Kod
session_register("zalogowanie");
$_SESSION["zalogowanie"]="tak";


i resztę adekwatnie
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.