Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Logowanie użytkownika
Forum PHP.pl > Forum > Przedszkole
john81
Witajcie

Bawię się PHP (jestem początkującym samoukiem) i natknąłem się na pewien problem. Chodzi o logowanie się użytkownika a dokładniej o przechowywanie danych użytkownika.

Moim celem jest osiągnięcie takiego efektu:
- Po wypełnieniu przez użytkownika formularza logowania następuje zalogownaie, ale:
- jeśli użytkownik zaznaczy opcję (zapamiętaj mnie) to dane są przechowywane długo np. tak długo aż użytkownik nie usunie ciasteczek czy coś).
- jeśli użytkownik jej nie zaznaczy to logowanie jest trzymane do czasu zamknięcia przeglądarki przez użytkownika.

Piszę ponieważ robię stronkę - co prawda na własne potrzeby (edukacyjne) - ale chcę wszystko zrobić jak najlepiej. Chodzi o bezpieczeństwo itd.


Liczę na kilka rad (nie gotowych rozwiązań smile.gif )


Pozdrawiam
goartur
Czesc, to to dosc proste, uzyj tego kodu tylko przepisz go a nie kopiuj.
Jest to kawalek z mojego starego projektu.
Ps widze ze chciales rady, no wytlumaczylem ci, zobacz jesli wiesz o co chodzi nie kopiuj smile.gif.

1. dodaj checkbox ktory nie bedzie zaznaczony.
Przyklad:
  1. <input type='checkbox' name="remember">

2.Jak wiesz aby zaznaczyc checkbox potrzebny jest atrybut "checked" no wiec teraz dodamy sprawdzanie czy istnieje Ciasteczko jesli tak to dodajemy zaznaczenie
  1. <?php if(isset($_COOKIE['gebruikersnaam'])){ echo "checked";} ?>


Calosc:
  1. <input type='checkbox' name="remember" <?php if(isset($_COOKIE['gebruikersnaam'])){ echo "checked";} ?>>

3.Ok teraz musisz dodac w skrypcie sprawdzanie czy checkbox zostal zaznaczony, jesli nie usuwamy Ciasteczko z clienta:
  1. if(isset($_POST['remember'])){
  2. if(!isset($_COOKIE['gebruikersnaam'])) {
  3. setcookie('gebruikersnaam', $uniek);
  4. echo("Success");
  5. }
  6. }else{
  7. setcookie('gebruikersnaam', $uniek, time()-3600);
  8. }

Do naszego inputu gdzie wpisuje sie Login dodajemy:
  1. <input type="text" name="uniek" placeholder="Unieke Code" value="<?php if(isset($_COOKIE['gebruikersnaam'])){ echo $_COOKIE['gebruikersnaam'];} ?>">


Co sprawi ze jesli cookie istnieje pole w input zostanie wypelnione
-------------------------------------------------------------------
Co do usuwania sesji po wylaczeniu okna, polecam poprostu zrobienie timera ktory bedzie niszczyl sesje po x minutach/sekundach/godzinach.

Mam nadzieje ze pomoglem.
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.