Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]System Online, Potrzebuję pomocy w moim systemie...
-4file.cba.pl-
post
Post #1





Goście







Potrzebuję pomocy w moim systemie a raczej w jego części. Chodzi o to, że chcę zrobić listę osób online ale nie wiem jak dokończyć kod. Nie używam bazy danych SQL/MySQL
logowanie.php:
  1. [PHP]
  2. <form action="dalej.php" method="POST">
  3. //pola tekstowe i przycisk (to to sam zrobilem)
  4. </form>
[/php]
dalej.php:
  1. [PHP]
  2. //czesc logujaca uzytkownika i sprawdzajaca nazwe i haslo (to to sam zrobilem)
  3. $otworz = fopen("online.txt","a+");
  4. $dopisz = $_SESSION['user'];
  5. fwrite($otworz, $dopisz);
  6. fclose($otworz);
  7. header("Location: index.php");
[/php]
online.php:
  1. [PHP]
  2. $otworz= fopen("online.txt", "a+");
  3. $odczytaj= file_get_contents("online.txt");
[/php]
wyloguj.php:
  1. [PHP]
  2. //jakis kod
  3. include("online.txt");
  4. if(isSet($_SESSION['user']))
  5. {
  6. str_replace($_SESSION['user'], "");
  7. }
  8. else { }
  9. //jakis kod
[/php]
No i tu jest problem w pliku wyloguj.php nie działa str_replace (IMG:style_emoticons/default/sad.gif) . Pomożecie?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 30)
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Funkcja klucz: unset. Co to za paskudztwo z tym str_replace?
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #3





Goście







Nie rozumiem... wytłumaczysz?
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #4





Goście







A i byś mógł pomóc mi w innym kodzie?
Go to the top of the page
+Quote Post
pedro84
post
Post #5





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Zamiast str_replace użyj unset
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Cytat
  1. $otworz= fopen("online.txt", "a+");
  2. $odczytaj= file_get_contents("online.txt");


po kiego grzyba Ci te 2 funkcje?

Cytat
include("online.txt");


oO dziwne rzeczy tu tworzysz (IMG:style_emoticons/default/smile.gif)

odczyt:
http://pl1.php.net/manual/en/function.file-get-contents.php
zapis:
http://pl1.php.net/manual/en/function.file-put-contents.php

Przykładowo:
dalej.php

  1. //czesc logujaca uzytkownika i sprawdzajaca nazwe i haslo (to to sam zrobilem)
  2. $person = $_SESSION['user'];
  3. file_put_contents("online.txt", $person, FILE_APPEND | LOCK_EX);
  4. header("Location: index.php");


#edit już wiem skod czerpiesz inspiracje Temat: PHPProsty system komentarzy ale tam to źle napisał, a inni tego nie zauważyli (IMG:style_emoticons/default/smile.gif)

Ten post edytował com 23.10.2013, 22:59:20
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #7





Goście







No wiem ale unset to chyba się w cookie i sesjach a ja chcę tylko w pliku tekstowym usunąć nazwę użytkownika. Przyjmijmy, że $_SESSION['user'] to Admin. Jak admin się loguje jego nazwa użytkownika dopisuje się do pliku online.txt. Po wylogowaniu w pliku logout.php jest str_replace które podmienia wartość $_SESSION['user'] na pustkę. Nwm jak to zrobić wiem mam nadzieję, że ktoś złoży, albo przynajmniej jakieś zrywki kodu da. (IMG:style_emoticons/default/closedeyes.gif)
Go to the top of the page
+Quote Post
Turson
post
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
No i tu jest problem w pliku wyloguj.php nie działa str_replace

A błąd nie wyskoczył, że str_replace wymaga 3 parametrów? Co zmienić, na co zmienić, z którego stringa ma zmienić.
Go to the top of the page
+Quote Post
pedro84
post
Post #9





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(4file.cba.pl @ 24.10.2013, 08:25:51 ) *
No wiem ale unset to chyba się w cookie i sesjach a ja chcę tylko w pliku tekstowym usunąć nazwę użytkownika.

Przecież z kodu ewidentnie widać, że chcesz zmienną sesyjną wyczyścić (IMG:style_emoticons/default/closedeyes.gif)
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #10





Goście







ja nie chcę wyczyścić tylko wyczyści nazwę użytkownika bo u mnie:
  1. $_SESSION['user']

To jest login i zarazem nick. A chcem z pliku online wyczyścić poprzez:
  1. str_replace($_SESSION['user'], " ");

Ale wpadłem na lepszy pomysł:
  1. $zmienna1 = $_SESSION['user'];
  2. $null = " ";
  3. str_replace($zmienna1, $null);

Ale wciąż mam problem z tym po potrzeba 3 warunków.
A tak na marginesie u mnie czyszczenie sesji to:
  1. unset($_COOKIE['sesja']);

Tyle!
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #11





Goście







  1. $_SESSION['user']

To chcę usunąć z pliku online.txt
Go to the top of the page
+Quote Post
phpion
post
Post #12





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. unset($_SESSION['user']);

lub:
  1. $_SESSION['user'] = '';

w zależności czy chcesz usunąć czy wyczyścić.
Go to the top of the page
+Quote Post
Turson
post
Post #13





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
Ale wciąż mam problem z tym po potrzeba 3 warunków.

A spojrzałeś chociaż w manualu czym jest 3. parametr?


  1. $plik=filegetcontents("online.txt");
  2. $zmienna1 = $_SESSION['user'];
  3. $null = " ";
  4. str_replace($zmienna1, $null, $plik);
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #14





Goście







Chcę usunąć z pliku online.txt dlatego tam jest:
  1. include("online.txt):

bo nick to też login.
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #15





Goście







Okej zaraz cały kod złożę i powiecie czy dobrze (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #16





Goście







login.php:
  1. //sprawdzanie loginu i hasla itd
  2. $person = $_SESSION['user'];
  3. file_put_contents("online.txt", $person, FILE_APPEND | LOCK_EX);
  4. header("Location: index.php");

online.php:
  1. //jakis kod strony
  2. $open= fopen("online.txt", "a+");
  3. $czyt= file_get_contents("online.txt");
  4. echo $czyt;
  5. fclose($open);
  6. //koncowka strony

logout.php:
  1. $plik=file_get_contents("online.txt");
  2. $zmienna1 = $_SESSION['user'];
  3. $null = " ";
  4. str_replace($zmienna1, $null, $plik);

Oceńcie i napiszcie czy dobrze napisałem ten kod.
Go to the top of the page
+Quote Post
Turson
post
Post #17





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Jak używasz fileGetContents to fopen i fclose jest niepotrzebne.
Go to the top of the page
+Quote Post
com
post
Post #18





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Turson już to pisałem (IMG:style_emoticons/default/biggrin.gif) ale widać kolega nie zajrzał do manuala..
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #19





Goście







No to dobrze napisałem ten kod? (IMG:style_emoticons/default/arrowheadsmiley.png)
Go to the top of the page
+Quote Post
phpion
post
Post #20





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Jeśli działa tak jak chcesz to tak, jeśli nie to nie.
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #21





Goście







Okej wszystko śmiga tylko mam problem z usuwaniem z pliku nazwy użytkownika.
logout.php:
  1. <?php session_start(); ?>
  2. <html>
  3. <head>
  4. <title>4File</title>
  5. </head>
  6. <body>
  7. <?php
  8. if(isSet($_SESSION['user']))
  9. {
  10. echo "Wylogowano Poprawnie<br>";
  11. echo "<a href=\"index.php\">Strona Główna</a>";
  12. unset($_COOKIE['sesja']);
  13. $plik=file_get_contents("online.txt");
  14. $zmienna1 = $_SESSION['user'];
  15. $null = " ";
  16. str_replace($zmienna1, $null, $plik);
  17. }
  18. else{
  19. header("Location:index.php");
  20. }
  21. ?>
  22. </body>
  23. </html>

Nie działa kod powyżej (wylogowuje dobrze ale nie usuwa z pliku online.txt nazwy użytkownika). Pomóżcie!!! Proszę (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
freemp3
post
Post #22





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Ponieważ nie zapisujesz do pliku zmienionej wartości.
Po drugie najpierw niszczysz sesje, a później odczytujesz z niej nazwe użytkownika? Sesje usuwa się na samym końcu, a nie na początku.

Ten post edytował freemp3 25.10.2013, 11:50:58
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #23





Goście







Okej wszystko smiga tylko z usuwaniem problem. Jakieś sugestie?
Go to the top of the page
+Quote Post
com
post
Post #24





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


No przecież freemp3 napisał dlaczego nie usuwa, przeczytałeś to wgl?
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #25





Goście







No tak poprawiłem kod ale dalej nie usuwa już nie rozumiem (IMG:style_emoticons/default/facepalmxd.gif) , kod:
  1. <?php session_start(); ?>
  2. <html>
  3. <head>
  4. <title>4File</title>
  5. </head>
  6. <body>
  7. <?php
  8. if(isSet($_SESSION['user']))
  9. {
  10. echo "Wylogowano Poprawnie<br>";
  11. echo "<a href=\"index.php\">Strona Główna</a>";
  12. $plik=file_get_contents("online.txt");
  13. $zmienna1 = $_SESSION['user'];
  14. $null = " ";
  15. str_replace($zmienna1, $null, $plik);
  16. unset($_COOKIE['sesja']);
  17. }
  18. else{
  19. header("Location:index.php");
  20. }
  21. ?>
  22. </body>
  23. </html>
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #26





Goście







Jeżeli bym dostał cal gotowy kod (już niewiem jak to zrobić (IMG:style_emoticons/default/nerdsmiley.png) ) to nie bym był obrażony (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
com
post
Post #27





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Cytat(freemp3 @ 25.10.2013, 12:45:33 ) *
Ponieważ nie zapisujesz do pliku zmienionej wartości.


Czytaj wszytko a nie tylko połowę (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #28





Goście







Nie rozumiem
Go to the top of the page
+Quote Post
utek44
post
Post #29





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 21.10.2013
Skąd: Wrocław

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


W takim przypadku trzeba to zapisywać czy wręcz nie można ?
Go to the top of the page
+Quote Post
-4file.cba.pl-
post
Post #30





Goście







Ok dzięki za pomoc nawet taką.
Go to the top of the page
+Quote Post
freemp3
post
Post #31





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Funkcja file_get_contents zwraca jedynie zawartość pliku. Jeśli coś zmodyfikujesz to nie zostanie to automatycznie zapisane. Sam to musisz zrobić. Służy do tego m.in funkcja file_put_contents.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 19:57