Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sesja, brak jej widoczności
Forum PHP.pl > Forum > Przedszkole
poxrimex
Mam problem, gdyż chciałbym aby na stronie głównej była wyświetlona zmienna sesji login,
ale to coś nie działa.
Oto plik:
ZALOGUJ.PHP
  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4. $_SESSION['login']=$login;
  5. $_SESSION['haslo']=$haslo;
  6. echo '<meta http-equiv="Refresh" content="1; url=index.html" />'
  7. ?>


a oto skrypt php:

  1. <?php
  2. if (isset($_SESSION['login']))
  3. {
  4. echo $_SESSION['login'];
  5. }
  6. else
  7. {
  8. echo 'nie masz dostepu';
  9. }
  10. ?>
nevt
a gdzie session_start() w drugim skrypcie? poza ty pokazujesz jakiś skrypt php, a w zaloguj.php masz przekierowanie do index.html ?
poxrimex
tak ten drugi to index.html
a jeśli chodzi o końcówkę .html
to wszystko wporządku bo .htaccess jest ustawiony na parsowanie htmlu jako php

A wracając do sprawy

index.html:
  1. <?php
  2. if (isset($_SESSION['login']))
  3. {
  4. echo $_SESSION['login'];
  5. }
  6. else
  7. {
  8. echo 'nie masz dostepu';
  9. }
  10. ?>


Skrypt działa już dobrze tylko nad zawartościa wyświetla się błąd:

  1. Warning: session_start() [function.session-start]:
  2. Cannot send session cache limiter - headers already sent
  3. (output started at index.html:11) in index.html on line 3
phpion
Założę się, że w kodzie masz tak:
  1. <html>
  2. <head>
  3. ...
  4. </head>
  5. <body>
  6. <?php
  7. if (isset($_SESSION['login']))
  8. {
  9. echo $_SESSION['login'];
  10. }
  11. else
  12. {
  13. echo 'nie masz dostepu';
  14. }
  15. ?>
  16. </body>
  17. </html>

Nie możesz wysłać nic do przeglądarki (żadnych znaczników, nawet spacji) przed session_start(). Zmień na:
  1. <?php session_start(); ?>
  2. <html>
  3. <head>
  4. ...
  5. </head>
  6. <body>
  7. <?php
  8. if (isset($_SESSION['login']))
  9. {
  10. echo $_SESSION['login'];
  11. }
  12. else
  13. {
  14. echo 'nie masz dostepu';
  15. }
  16. ?>
  17. </body>
  18. </html>
poxrimex
Tak też zmieniłem,
lecz nawet prosty skrypt jeśli można to nazwać skryptem

  1. <?php session_start(); ?>


Już te ostrzeżenie zwraca
mike
No bez przesady mad.gif
Myślisz, że jak będziesz podbijał wątek pisząc jako gość to nikt nie zauważy!?

Nie jesteś w stanie odczekać dłużej niż godzina? Jak Ci ktoś nie odpowiada od razu to nie powód żeby zaraz śmietnik robić.
Ostrzeżenie za nabijanie postów.

Usuwam posty, które napisałeś jako Gość
poxrimex
Problem już rozwiązany

i tkwił w tym, że mój umysł myślał, że to początek całego skryptu
bo był plik index.html
i ramka.html
a z poziomu index ramka była require
a ja w tej ramce wpisałem session_start()

trzeba to wpisać na początku skryptu index.html

Pozdrawiam i dzięki all za pomoc
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.