Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak "wymusić" odświerzanie całej strony po zalogowaniu ?
Forum PHP.pl > Forum > Przedszkole
peksiarz
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 ? blink.gif
MrMag
header("Location: costam.php");
Lee
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 blink.gif
peksiarz
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 ? blink.gif
Lee
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
peksiarz
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 smile.gif
Lee
po co to exit; po header?
peksiarz
Ż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 blink.gif
Crozin
sprawdz czy nie masz jakiejs spacji/entera przed <?php
Mike122
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. ?>
peksiarz
dzięki Mike122 o to właśnie chodziło, pozdrawiam smile.gif
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.