Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sesje]
Forum PHP.pl > Forum > Przedszkole
wężyk
Witam wszyzdkich mam klopot z przesłaniem sesji tzn
W php.ini ustawiłem sesie na auto start no i gdy odpalam locala to w pasku adresu niemam wyswietlonego id session ani zmienne sesji nie sa rejestrowane.
Za pomoc dziękuję.
Darti
numer sesji wcale nie musi byc doklejany do adresu - sprawdz tablice $_SESSION takim kodem:
  1. <?php
  2. print_r($_SESSION);
  3. ?>

i jeśli wyskoczy Ci array a w środku numer sesji to znaczy że masz sesje włączone
gosc
no ja mam podobny problem i jak wpisze
Kod
print_r($_SESSION);

to pokazuje mi:
Array ( )

Jak zrobić żeby po zalogowaniu na login i hasło mieć cały czas login jaka zmienną globalną (dostępną na każdej stronce) ?
Coyote
$_SESSION['login'] = login questionmark.gif
Adiasz
Cytat(gosc @ 2005-03-22 16:21:08)
no ja mam podobny problem i jak wpisze
Kod
print_r($_SESSION);

to pokazuje mi:
Array ( )

a session_start(); dales?
gosc
dałem session_start() w stronce do której przesyłam dane z formularza dotyczące logowania i nic.
Guest
po ustawieniu opcji
Kod
session.use_trans_sid = 1

zadziałało w końcu , ale mam dwa problemy:

1. jeśli przechodze zwykłym odnośnikiem
Kod
<A HREF="druga.php">druga</A>
to działa,
a jeśli
Kod
header ('Location: druga.php');
to już nie działa

a potrzebuje zrobić przez header sad.gif

2. jak ustawiłem session.use_trans_sid = 1 to przesyła mi w adresie ID sesji a jak zrobić zeby przesyłało jakoś inaczej (żeby nie było widać w adresie stronki).

Pozdrawiam
Wave
Logowanie:
  1. <?php
  2.  
  3. session_register(&#092;"zmienna\");
  4. ?>

Na każdej innej stronie:
  1. <?php
  2. ?>

Wylogowanie:
  1. <?php
  2. ?>

To musi działać. biggrin.gif
Daje przykładowy skrypt logowania:
  1. <?
  2. $log='admin';
  3.  
  4. $pas='test';
  5.  
  6. if($_GET['op'] == 'zaloguj') 
  7. {
  8.  
  9.  
  10. if ($_POST['login'] == $log && $_POST['pass'] == $pas)
  11. {
  12.  
  13. session_register(&#092;"login\");
  14.  
  15.  
  16. header(&#092;"Location: ?op=index\");
  17.  
  18. } 
  19. else if(isset($_POST['pass']) || isset($_POST['login'])) echo('Błędny login lub hasło!');
  20.  
  21.  
  22. echo('<form method=\"POST\" action=\"?op=zaloguj\">Login<input type=\"text\" name=\"login\" size=\"20\">
  23. Hasło<input type=\"password\" name=\"pass\" size=\"22\"><input type=\"submit\" value=\"Zaloguj\" name=\"zaloguj\"></form>');
  24. }
  25.  
  26.  
  27. if($_GET['op'] == 'wyloguj')
  28. {
  29. header('Location: ?op=zaloguj');
  30. exit();
  31. }
  32.  
  33.  
  34. if($_GET['op'] == 'index')
  35. {
  36.  
  37.  
  38.  
  39. if ($_SESSION['login'] != $log)
  40. {
  41. header('Location: ?op=zaloguj');
  42. }
  43. echo('Witaj ' .$_SESSION['login']. ' w Strefie Zamkniętej!<br><A href=\"?op=wyloguj\">Wyloguj</A>');
  44.  
  45. }
  46. if ($_SESSION['login'] == $log && empty($_GET['op'])) header('Location: ?op=index');
  47. else if(empty($_GET['op'])) header('Location: ?op=zaloguj');
  48.  
  49. ?>
Guest
mam tak jak piszesz
Kod
<?php

session_start();
session_register("zmienna");
?>


Na każdej innej stronie:
Kod php:
1
2
3
<?php
session_start();
?>


ale header mi nie działa jak pisze

Kod
header ("Location: druga.php");

moze musze dodac cos po znaku ? do headera zeby przesylac ID sesji questionmark.gif
gosc
teraz zauważyłem że w katalogu
c:\PHPsession tworzą mi sie 2 sesje po jednym zalogowaniu i po wylogowaniu jedna znika a druga dalej zostaje i ta która znika była pusta, a ta która została ma to co mi potrzebne czyli zmienną $user.

Mam tak:
plik.1
Kod
<?php
//ob_start(); // żeby dzialaly headery jak są echo lub print wczesniej
session_start();
$_SESSION["user"]=$_POST['uzytkownik'];
header ("Location: plik.2");
?>

plik.2
Kod
<?php
session_start();
echo $_SESSION["user"];
i PUSTO nic sie nie wyswietla
?>
gosc
juz zauwazylem ze
Kod
header
tworzy mi drugą sesje, w której nie ma juz tych zmiennych.
Wiec jak mam zrobić zeby ten header wysylal poprzednią sesje i nie tworzyl kolejnej??
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.