Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie tylko dla użytkownika
Forum PHP.pl > Forum > PHP
Ziom73
Mam PHPLogin, i chciałbym zrobić stronę" index.php" , żeby niezalogowanych wywalało na login.php, a zalogowanym się pokazała strona.
Cytat
================================================================================
=
HOW TO INSTALL
================================================================================
=

1. Run keygen.php

2. Run install.php in your browser and enter the configuration details.

================================================================================
=
WHERE TO ASK HELP
================================================================================
=
For any help please use the forums. http://www.phplogin.net/forum/

================================================================================
=
HOW TO APPLY RESTRICTIONS
================================================================================
=
From the admin control panel, click on the "generate code" button and
select the groups that are allowed to see a certain page. Copy the code
that the wizard outputs and place it at the very start of the page.

================================================================================
=
Aby wyświetlić zawartość tylko dla zalogowanych, TYLKO DLA UŻYTKOWNIKÓW:
================================================================================
=
<?php
if ( $login->is_logged_in () ):
?>
Content here for logged in members
<?php
endif;
?>

================================================================================
==
Aby wyświetlić zawartość tylko dla niezalogowanych, TYLKO DLA GOŚĆI:
================================================================================
==
<?php
if ( ! $login->is_logged_in () ):
?>
Content here for guests
<?php
endif;
?>

================================================================================
==
Aby wyświetlić zawartość tylko dla adminów:
================================================================================
==
<?php
if ( $login->isadmin () ):
?>
Content here for the admin only
<?php
endif;
?>

================================================================================
==
THINGS TO REMEMBER
================================================================================
==

settings.php always needs to be included in your php pages (where you want
restrictions applied).
================================================================================
=
CREDITS
================================================================================
=
FAMFAMFAM (icons used) http://www.famfamfam.com/lab/icons/silk/
EZSQL http://www.justinvincent.com
Codeigniter http://www.codeigniter.com

Robię tak:
  1. <body>
  2. <center>
  3.    <?php
  4.             include ('login/settings.php');
  5.        if ( ! $login->is_logged_in () ):
  6.    ?>
  7. <?php
  8. header("Location: login/login.php");
  9. ?>
  10.       <?php
  11.        endif;
  12.       ?>
  13.  
  14.  
  15.    <?php
  16.             include ('login/settings.php');
  17.        if ( $login->is_logged_in () ):
  18.    ?>
  19. hehe
  20.    <?php
  21.        endif;
  22.    ?>
  23. </center>
  24. </body>

i nie działa ;/
drake88
Kod
<?php
if($zalogowany == 1) {
echo 'jestes zalogowany'; // wszystko co chcesz by zalogowani widzieli
}
else {
echo 'Jestes niezalogowany !';
}
?>
okitoki
no cóż, wcale się nie dziwie, przede wszystkim nie wiem dlaczego 2 krodnie masz wpisane include ('login/settings.php'); po 2gie gdzie jest tworzony obiekt "$login" po 3cie skąd wie metoda "is_logged_in()" że użytkownik jest zalogowany.


zdrowy rozsądek mi mówi że jeżeli chcesz kontrolować użytkownika to musisz mu coś zapisać w cookie, najłatwiej to zrobić na sesji, tylko jeżeli chcesz użyć sesji to musisz ją tworzyć na początku kodu, robi to polecenie session_start()

tak w ogóle kod który podałeś nie będzie działał bo modyfikujesz nagłówki po wysłaniu HTML-a, polecenie
header("Location: login/login.php"); działa tylko wtedy gdy do klienta jeszcze nie zostanie wysłana żadna treść, ponieważ zwraca do przeglądarki inny kod odpowiedzi. wpisując na dzień dobry "<body> <center>" spowodowałeś że serwer odpowiada kodem 200.
Ziom73
index.php
  1. <?php
  2. include ('login/settings.php');
  3. if ( $login->is_logged_in () ) {
  4. echo 'jestes zalogowany'; // wszystko co chcesz by zalogowani widzieli
  5. }
  6. else {
  7. echo 'header("Location: login/login.php");';
  8. }
  9. ?>

Mam tylko to i nie działa ;/
okitoki
musiał bym to całe zobaczyć, u nie ma żadnych informacji w tym twoim kodzie, wszystko się dzieje w pliku login/settings.php lub nawet głębiej, pytanie z innej beczki, gdzie ty z tego korzystasz, bo jak na darmowych serwerach to może tam nie działać wiele funkcji które są zawarte w pliku, jakiego PHP używasz, jak widzisz tu jest wiele nie wiadomych.
widzę że skrypt jest napisany w OOP, ale nie wiem czy wiesz były spore różnice pomiędzy PHP4 i PHP5.

jak mi to udostępnisz, to wieczorem mogę na to zerknąć i zobaczyć co się dzieje

pozdrawiam Paweł
ps. jak używasz modyfikatora nagłówka to <?php ?> musi dosłownie znajdować się na początku i na końcu pliku
Ziom73
Hosting: cba.pl
Skrypt: PHPLogin

Gdyby co gg:12352837
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.