Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak "wymusić" odświerzanie całej strony po zalogowaniu ?
peksiarz
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (10%)
X----


W jaki sposób zrobić coś takiego, aby po wykonaniu logowania automatycznie zmieniał sie link z "zaloguj" na "wylogowanie"?
Jak narazie działa mi to w ten sposób, że odświerza się tylko dolna ramka strony głównej www, a całość odświerza się dopiero po wybraniu jakiejkolwiek opcji z głównego menu.
Jak "wymusić" odświerzenie całej stronki po prawidłowym zalogowaniu ? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)

Ten post edytował peksiarz 3.02.2007, 17:08:54
Go to the top of the page
+Quote Post
MrMag
post
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 5
Dołączył: 24.02.2004

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


header("Location: costam.php");
Go to the top of the page
+Quote Post
Lee
post
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Najlepiej do zmiennej np. $refer pobrać cały adres strony tzn. w formularzu logowania dodajesz
  1. <?php
  2. <input type="hidden" name="refer">
  3. ?>

i jako value="" połączone zmienne
  1. <?php
  2. $_SERVER['PHP_SELF']
  3. $_SERVER['REQUEST_URI']
  4. ?>

i będziesz miał adres do której header ('Location: '); ma się odwołać, żeby użytkownik nie musiał od nowa błądzić po stronie

Mam nadzieję, że mój post jest chociaż średnio zrozumiały (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Go to the top of the page
+Quote Post
peksiarz
post
Post #4





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (10%)
X----


użyłem "header" ale nie wiem jak tym "sysyłaczem sutowego nagłówka" się posługiwać

wywala mi błąd:
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\maker\index.php:20) in c:\usr\krasnal\www\maker\index.php on line 156

o jakich zasadach należy pamiętać przy kożystaniu z header ? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)

Ten post edytował peksiarz 3.02.2007, 17:39:41
Go to the top of the page
+Quote Post
Lee
post
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Dodaj ob_start(); po <?php

Po header nie możesz wysyłać już żadnych informacji typu echo itp. tak przynajmniej sobie przypominam co mi mówili

Ten post edytował Lee 3.02.2007, 17:44:37
Go to the top of the page
+Quote Post
peksiarz
post
Post #6





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (10%)
X----


dodałem do funkcji login tuż po sprawdzeniu poprawności danych:
Kod
ob_start();
header("Location: index.php");
exit;


no i niestety, wywala mi ten sam błąd:
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\maker\index.php:20) in c:\usr\krasnal\www\maker\login_functions.php on line 87

nie rozumiem tez tego:
Cytat
Po header nie możesz wysyłać już żadnych informacji typu echo itp. (..)

dlaczego tak jest, mógłby ktoś mi to wytłumaczyć tak na chłopski rozum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował peksiarz 3.02.2007, 18:13:54
Go to the top of the page
+Quote Post
Lee
post
Post #7





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


po co to exit; po header?
Go to the top of the page
+Quote Post
peksiarz
post
Post #8





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (10%)
X----


Żeby upewnić się, że kod poniżej nie zostanie wykonany po przekierowaniu, znalazłem to na: http://www.klaban.torun.pl/help/phppl/function.header.html

niestety bez tego działa tak samo (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


sprawdz czy nie masz jakiejs spacji/entera przed <?php
Go to the top of the page
+Quote Post
Mike122
post
Post #10





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

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


Po użyciu funkcji exit; żaden skrypt php pod nią nie zostawanie wykonany.
Przykład:
  1. <?php
  2. echo "Przed exit"; // Wyświetli
  3. echo "Po exit"; //Nie wyświetli
  4. ?>

Co do header:
  1. <?php
  2. header("Location: index.php");
  3. ?>

Cytat(Lee @ 3.02.2007, 17:44:15 ) *
Po header nie możesz wysyłać już żadnych informacji typu echo itp. tak przynajmniej sobie przypominam co mi mówili

~Lee po i przed użyciem header można dalej kontynuować swój kod.
Przykład:
  1. <?php
  2. echo "Przed";
  3. echo "<br />";
  4. header('Content-Type: text/html; charset=iso-8859-2');
  5. header('Date: ' . date("D M j G:i:s T Y"));
  6. header('Last-Modified: ' . date("D M j G:i:s T Y"));
  7.  
  8. echo "Test";
  9. $zmienna = "Kobieta zmienną jest...";
  10. echo "<br />";
  11. echo $zmienna;
  12. ?>


Ten post edytował Mike122 3.02.2007, 20:27:33
Go to the top of the page
+Quote Post
peksiarz
post
Post #11





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 27.10.2006

Ostrzeżenie: (10%)
X----


dzięki Mike122 o to właśnie chodziło, pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 23.12.2025 - 22:37