Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Sesje
Forum PHP.pl > Forum > Przedszkole
watas
Witam,
Potrzebuje troche pomocy lub jakiejs wskazowki bo nie moge sobie z tym poradzic, a nic sensownego w tym temacie nie moge znalesc. Wiec do rzeczy, mam sobie oto taki kawalek kodu
  1. ...
  2. echo "<form action='index.php' method='post'>
  3. <input type='tekst' name='n_name' value='$name' maxlength='30'>
  4. <input type='tekst' name='n_pass' value='$pass' maxlength='30'>";
  5. <input type='submit' name='submit' value='ZAPISZ'>
  6. </form>";
  7. ...
  8. if (isset($n_name) || isset($n_pass)){
  9. $tmp = array($n_name,sha1($n_pass));
  10. $dane = implode("||",$tmp);
  11. if(file_exists("user.php")){
  12. $plik = "user.php";
  13. $fp = fopen($plik, "w");
  14. @fwrite($fp,$dane) or die ("Nie mozna zapisac danych");
  15. fclose($fp);
  16. session_destroy(); // <----------- ?
  17. }
  18. }
  19. ...


Chodzi mi dokladnie o niszczenie sesji. Kod zmienia mi haslo i urzytkownika wszytsko dziala poprawnie, ale ... nie tak jak oczekuje :-). W zamysle chcialem uzyskac sytuacje, ze po zapisie w pliku sesja zostaje przerwana i urzytkownik (admin) zostaje przeniesiony z powrotem na strone logowania do panelu. Owszem kod dziala w ten sposob, ale nastepuje zapis i strona "stoi" nie nastepuje przeniesienie. Dopiero jak wystapi odswierzenie strony lub proba przejscia na inna zakladke itp. I tu moje pytanie czy da sie temu jakos zaradzic? Wydaje mi sie, ze probowalem juz wszytskiego, a i moja sesja jest bez ciasteczka. Jesli ktos ma jakies sugestie to prosze o pomoc.

Pozdrawiam
Wojtek M.
Zyx
A dlaczego niby przeglądarka/serwer miałyby Cię automatycznie przekierowywać gdziekolwiek, jeśli im nie powiedziałeś, że mają to robić? Dodaj kod robiący przekierowanie i problem rozwiązany.
Hpsi
zgodzę się, z poprzednikiem twój kod aktualnie nie ma prawa przekierunkować na inną podstronę , poczytaj o
  1. <?php header('location:adres.php'); ? >
watas
oczywiscie na koncu mam skryptu mam header("Location: index.php"); Chodzi mi wlasnie o to automatyczne przekierowanie po wykonaniu procesu zapisu nowego hasla i loginu. Jakos w czoraj nie moglem tego znalesc, mozecie cos podpowiedziec czego szukac?
Hpsi
  1. ...
  2. echo "<form action='index.php' method='post'>
  3. <input type='tekst' name='n_name' value='$name' maxlength='30'>
  4. <input type='tekst' name='n_pass' value='$pass' maxlength='30'>";
  5. <input type='submit' name='submit' value='ZAPISZ'>
  6. </form>";
  7. ...
  8. if (isset($n_name) || isset($n_pass)){
  9. $tmp = array($n_name,sha1($n_pass));
  10. $dane = implode("||",$tmp);
  11. if(file_exists("user.php")){
  12. $plik = "user.php";
  13. $fp = fopen($plik, "w");
  14. @fwrite($fp,$dane) or die ("Nie mozna zapisac danych");
  15. fclose($fp);
  16.  
  17.  
  18. session_destroy(); // <----------- ?
  19. //tutaj masz koniec procesu
  20. // dajesz sobie tutaj header
  21. header('location:xxx.php');
  22. // kończysz działanie skryptu
  23. exit;
  24. }
  25. }
  26. ...
  27.  


Jesli dobrze rozumiem to ci powinno pomoc
Po całej proceduże przekierunowuje Cię, na stronę xxx.php, dzieki Exit; skrypt nie działa dalej tylko kończy działanie na tym co zrobiłeś
Hpsi
ob_start() na poczatku skryptu powinno pomoc, to raz, dwa przed header NIE moze być nic wyświetlane ;p
watas
Wielkie dzieki Hpsi+, bufer pomogl, i to wlasciwie calkiem ciekawa sprawa :-) a juz napewno pomocna. Wszystko dziala jak powinno.
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.