Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cookie]
Forum PHP.pl > Forum > Przedszkole
Raffal
problem jest pewnie dosyc prosty , doszedlem do tematu cookie w mojej ksiazce(Radocha z Programowania calkiem niezle przyklady i tania!! ) no i stanalem w miejscu prubuje zrobic sobie skrypt odpowiedzialny za logowanie lecz mam problem nie moge pobrac plikow cookie od uzytkownika

  1. <form action="" method="Post">
  2. login<input type="text" name="login" value="" size=""><br>
  3. haslo<input type="password" name="haslo" value="" size="">
  4. <input type="submit" value="Wyślij">
  5. </form>
  6.  
  7. <?
  8. $logine=='';
  9. $hasloo=='';
  10. if($login==$logine && $haslo==$hasloo)
  11. {
  12. setcookie("logowanie", "logowanie", time()+3600);
  13. echo 'cookie ustawione';
  14. }
  15. else
  16. {
  17. echo 'Niepoprawne hasło lub uzytkownik';
  18. }
  19. ?>
  20.  
  21. <?
  22. if (isset($_COOKIE['logowanie']))
  23. {
  24. echo $_COOKIE['logowanie'];
  25. }
  26. ?>


cookie sie zapisuja(sprawdzalem) lecz chce odczytac je no i nic nic sie nie wyswietla:( mozecie wskazac mi blad smile.gif i naprowadzic na wlasciwa droge? smile.gif
batman
Jeśli kod masz napisany w taki sposób jak w przykładzie, to nic dziwnego, że nie działa. Funkcja setcookie może byc wywołana przed wysłaniem nagłówków. Przenieś cały kod php nad formularz i zadziała (o ile nie masz nic nad formularzem).
Raffal
dzieki smile.gif no jasne przecierz to teraz ma sens wczesniej nadpisywalo no dzieki:)

chcialem sie jeszce zapytac co myslicie o tym jest to skrypt logowania tzn sprawdza czy jes t ciasteczko jak jest wyswietla cos(narazie jest include) jak nie ma to prosi zalogowanie

skrypt wyglada tak
  1. <?
  2. if(isset($_COOKIE['logowanie']))
  3. {
  4. echo 'Witaj '.$login. 'jestes zalogowany';
  5. @include('panel.txt');
  6. }
  7. else
  8. {
  9. if($login==login && $haslo==haslo)
  10. {
  11. setcookie("logowanie", "zalogowanty", time()+3600);
  12. echo 'cookie ustawione';
  13. echo 'zachwile zostaniesz przekierwowany do panelu administracyjnego';
  14. for($i=1;$i<10000;$i++)
  15. {
  16. }
  17. echo 'zachwile zostaniesz przekierwowany do panelu administracyjnego';
  18. header('location: logowanie.php');
  19. }
  20. else
  21. {
  22. echo 'Niepoprawne hasło lub uzytkownik';
  23. }
  24. }
  25. ?>
  26.  
  27.  
  28. <form action="" method="Post">
  29. login<input type="text" name="login" value="" size=""><br>
  30. haslo<input type="password" name="haslo" value="" size=""><br>
  31. <input type="submit" value="zaloguj"><br>
  32. <button action=php/wyloguj.php>Wyloguj !!</button><br>
  33. </form>

a to do wyloguj
  1. <?
  2. setcookie("logowanie","",time()-3600);
  3. header('location: logowanie.php');
  4. echo 'wylogowales się !!';
  5. ?>

a wyloguj mi nie dziala chcialem w sumie zrobic panel opart na jednym pliku mozecie mi pomoc tzn ocenic wskazac bledy lub lepsze rozwiazania ?
batman
Największym błędem tego rozwiązania jest to, iż każdy może uzyskać dostęp do strony poprzez prostą podmianę ciasteczka. Opieranie się tylko na ciasteczkach w krypcie logowania to nie jest najlepszy pomysł. Dorzuć do tego bazę danych (ewentualnie pliki tekstowe) i będzie znacznie bezpieczniej.
Raffal
a mozesz mi odpowiedziec dlaczego wyloguj nie dziala?
a oparcie tego na plikach txt czyli pliki txt na serweze o nazwie z loginem i w pliku naprzyklad zakodowane haslo?
mdco
W wylogowaniu uzyłeś po header polecenie echo. To albo echo albo header, prawdopodonie masz bład typu: headers already sent by...

Na przyszlosc pisz jakie bledy polzuje Ci. Wtedy bedzie latwiej cos poradzic.

Ja osobiscie preferuje logowanie na sesjach, jest najbezpieczniejsze.
Raffal
nie wyswietla sie zaden blad ,a co do sesji do zdaje sobie z tego sprawe ze jest bezpieczniejsze lecz chce sie nauczyc cookie a najlepiej uczy sie na przykladach i cwiczac

a i orietujecie moze sie jak zmienic kursor na calym serwisie tzn w css ?
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.