Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Odświeżanie
-mani-
post
Post #1





Goście







Witam

Chciałbym rozwiązać problem z wyświetlaniem informacji o logowaniu. Otóż

  1. <?php
  2. if($_SESSION["zalogowany"]==0){
  3. echo '<span style="color:gray">Nie jesteś zalogowany </span>';
  4. } else if($_SESSION["zalogowany"]==1){
  5. echo '<span style="color:gray">Jesteś zalogowany </span>';
  6. }
  7.  
  8. if($_GET["wyloguj"]=="tak" && empty($przycisk)){
  9. $_SESSION["zalogowany"]=0;
  10. echo 'Zostales wylogowany z serwisu';
  11. }
  12. ?>


i mam problem taki iż po wylogowaniu komunikat wygląda w ten sposób

"Jesteś zalogowany Zostales wylogowany z serwisu "

Chciałbym dodawać funkcje ,żeby odświeżał mi stronę po każdej akcji - w jaki sposób da się to zrobić? proszę o pomoc
Go to the top of the page
+Quote Post
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


  1. <?php
  2. if($_SESSION["zalogowany"]==0){
  3. echo '<span style="color:gray">Nie jesteś zalogowany </span>';
  4. } elseif(isset($_GET['wyloguj']) && $_GET["wyloguj"]=="tak" && empty($przycisk)){
  5. $_SESSION["zalogowany"]=0;
  6. echo 'Zostales wylogowany z serwisu';
  7. }elseif($_SESSION["zalogowany"]==1){
  8. echo '<span style="color:gray">Jesteś zalogowany </span>';
  9. }
  10. ?>


Ten post edytował golaod 21.10.2008, 14:10:05
Go to the top of the page
+Quote Post
MWL
post
Post #3





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


mozesz zrobić to za pomocą przekierowania nagłówka http. header("Location: LOKALIZACJA"); gdzie LOKALIZACJA to link gdzie ma być przekierowanie. Poza tym o wiele lepiej było by to napisać inaczej...
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




daj tak i bedzie ok:

  1. <?php
  2. if($_GET["wyloguj"]=="tak" && empty($przycisk)){
  3. $_SESSION["zalogowany"]=0;
  4. echo 'Zostales wylogowany z serwisu';
  5. }
  6.  
  7. if($_SESSION["zalogowany"]==0){
  8. echo '<span style="color:gray">Nie jesteś zalogowany </span>';
  9. } else if($_SESSION["zalogowany"]==1){
  10. echo '<span style="color:gray">Jesteś zalogowany </span>';
  11. }
  12. ?>


a najlepiej zainteresuj się funkcją session_destroy();

a co do prosby to np:
  1. <?php
  2. if($_GET["wyloguj"]=="tak"){
  3. $_SESSION["zalogowany"]=0;
  4. header('location:'$_SERVER['PHP_SELF']);
  5. }
  6. ?>
Go to the top of the page
+Quote Post
-mani-
post
Post #5





Goście







spawnm - gdy daje twój przykład wywala mi parse error w niki z headerem.

Zastosowując się do waszych przykładów ten problem rozwiązałem ale pojawił się następny - w odwrotną stronę. Po wylogowaniu i zalogowaniu komunikat wygląda następująco : "Nie jesteś zalogowany Zalogowano poprawnie " wkleję cały mój skrypt logowania może tak będzie lepiej

  1. <?php
  2. if(isset($_GET['wyloguj']) && $_GET["wyloguj"]=="tak" && empty($przycisk)){
  3. $_SESSION["zalogowany"]=0;
  4. echo 'Zostales wylogowany z serwisu';
  5. }else if($_SESSION["zalogowany"]==1){
  6. echo '<span style="color:gray">Jesteś zalogowany </span>';
  7. } else if ($_SESSION["zalogowany"]==0){
  8. echo '<span style="color:gray">Nie jesteś zalogowany </span>';
  9. }
  10.  
  11. if(!empty($_POST["login"]) && !empty($_POST["haslo"]) && !empty($przycisk)){
  12.    if(mysql_num_rows(mysql_query("select * from usery where login = '".htmlspecialchars($_POST["login"])."' AND haslo = '".htmlspecialchars($haslo)."'"))){
  13.    echo "Zalogowano poprawnie";
  14.    $_SESSION["zalogowany"]=1;
  15. } else {
  16.    echo "  Podane dane sa nieprawidlowe";
  17. }
  18. }
  19. if(empty($_POST["login"]) && empty($_POST["haslo"]) && !empty($przycisk) || empty($_POST["haslo"]) && !empty($przycisk) || empty($_POST["login"]) && !empty($przycisk)){
  20. echo "  Prosze wypelnic oba pola";
  21. }
  22. ?>


Jeszcze mam dwa pytanka
Jak powiedział kolega spawmn abym zainteresował się funkcją session_destroy , wiem, że służy ona do zabijania sesji, dająć ją na końcu kodu, przez co przechodząc na każdą podstronę użytkownik musiałby się każdorazowo logować czyż nie tak?
A drugie pytanie to czy istnieje możliwość przykładowo wykonuje się akcja wylogowania, ale chciałbym żeby komunikat był w zupełnie innym miejscu strony, czy może można za pomocą jakieś funkcji,zmiennej ? dziękuję za pomoc.
Go to the top of the page
+Quote Post
-mani-
post
Post #6





Goście







dobra nie obijałem się i rozwiązałem problem. Jeśli ktoś by mógł odpowiedzieć na moje pytanie bym był wdzięczny bo chciałbym gdzie indziej umieścić komunikaty a zmiana ułożenia skryptu znów wprowadzi błąd.
Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




co do:
spawnm - gdy daje twój przykład wywala mi parse error w niki z headerem.
odp:
zgubiłem kropke...powinno być
header('location:'.$_SERVER['PHP_SELF']);

dalej,
Jak powiedział kolega spawmn abym zainteresował się funkcją session_destroy , wiem, że służy ona do zabijania sesji, dająć ją na końcu kodu, przez co przechodząc na każdą podstronę użytkownik musiałby się każdorazowo logować czyż nie tak?

kto ci napisał że ma byc na końcu strony ?
dajesz np :
if($_GET['wyloguj']){
session_destroy();
echo 'zostałeś wylogowany.';
}

a co do pytania to jesli już chcesz miec wszystko w 1 pliku to pobaw się z css komunikatu o wylogowaniu i ustaw go tam gdzie ci się podoba (daj w <div>)
Go to the top of the page
+Quote Post
-mani-
post
Post #8





Goście







rozumiem w ten sposób, dzięki.
Go to the top of the page
+Quote Post

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: 22.09.2025 - 11:25