Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tragedia sesyjna
Forum PHP.pl > Forum > PHP
invx
dlaczego taki skrypt
  1. <?php
  2. if ( !isset ( $_SESSION[zalogowany] ) || $_POST[mode] == zaloguj )
  3. {
  4. $plik="dane.txt";
  5. $tablica=file($plik);
  6. $ile=count($tablica);
  7. for ( $i=0; $i<$ile; $i++ )
  8. {
  9. $tab=explode("|*|", $tablica[$i]);
  10. if ( $tab[1] == $_POST[login] && $tab[2] == $_POST[haslo] )
  11. {
  12. $_SESSION['zalogowany']="oooooooooo";
  13. $_SESSION[id]=$tab[0];
  14. }
  15. }
  16. if ( isset ($_SESSION[zalogowany]) )
  17. {
  18. echo"Jestes zalogowany <a href='wyswietl.php'>Kliknij tutaj</a>aby zobaczyć swoje wiadomości i terminy płatności";
  19. }
  20. else
  21. {
  22.  echo"Niezalogowany !";
  23. }
  24. }
  25.  
  26. else
  27. {
  28. echo"Błąd autoryzacji";
  29. }
  30.  
  31.  
  32. ?>

nie tworzy mi sesji, a przynajmniej nie moge ich odczytac takim skryptem tongue.gif

  1. <?php
  2. echo"dd $_SESSION[zalogowany]";
  3. #if ( isset ($_SESSION[zalogowany]) )
  4. #{
  5. $plik="dane.txt";
  6. $tablica=file($plik);
  7. $ile=count($tablica);
  8. $tab=explode("|*|", $tablica[0]);
  9.  
  10. echo"<table>";
  11.  
  12. for ($i=3; $i<15; $i++)
  13. {
  14.  switch ( $i )
  15.  {
  16.  case 3:
  17.  $miesiac="Styczeń";
  18.  break;
  19.  case 4:
  20.  $miesiac="Luty";
  21.  break;
  22.  case 5:
  23.  $miesiac="Marzec";
  24.  break;
  25.  case 6:
  26.  $miesiac="Kwiecień";
  27.  break;
  28.  case 7:
  29.  $miesiac="Maj";
  30.  break;
  31.  case 8:
  32.  $miesiac="Czerwiec";
  33.  break;
  34.  case 9:
  35.  $miesiac="Lipiec";
  36.  break;
  37.  case 10:
  38.  $miesiac="Sierpień";
  39.  break;
  40.  case 11:
  41.  $miesiac="Wrzesień";
  42.  break;
  43.  case 11:
  44.  $miesiac="Październik";
  45.  break;
  46.  case 13:
  47.  $miesiac="Listopad";
  48.  break;
  49.  case 14:
  50.  $miesiac="Grudzień";
  51.  break;
  52.  }
  53.  
  54.  
  55. echo "
  56. <tr>
  57. <td>
  58. $miesiac
  59. </td>
  60. ";
  61.  
  62. if ( $tab[$i] == 1 )
  63. {
  64. <td><b><font color='green'>Zapłacono</font></b></td></tr>
  65. ";
  66. }
  67. elseif ( $tab[$i] == 0 )
  68. {
  69. <td><b><font color='red'>Nie zapłacono</font></b></td></tr>
  70. ";
  71. }
  72. else
  73. {
  74. <td>Błąd</td></tr>
  75. ";
  76. }
  77.  
  78. }
  79. echo"</table>";
  80. echo"</u><b>INFO:</b></u></br>
  81. $tab[15]";
  82. #}
  83.  
  84. #elseif ( !isset ($_SESSION[zalogowany]) )
  85. #{
  86. #echo"Błąd autoryzacji";
  87. #}
  88.  
  89.  
  90. ?>


ten if wykomentowany tez niedzialal i zmmienilem na eche i nic nie wyswwietla

P.S.
sleepysmiley03.gif
hwao
ten kod jest paskudny,

Wiesz chociaz jak sie poslugiwac kluczami w tablicy? - polecam jakas ksiazke dla "php poczatkujacy".
tiraeth
w drugim pliku musisz otworzyć sesję, czyli użyć na samym początku funkcji session_start()
ens0re
Cytat(invx @ 2005-08-30 03:08:03)
...if ( !isset ( $_SESSION[zalogowany] ) || $_POST[mode] == zaloguj )...


Chyba powinno być
  1. <?php
  2. if ( !isset ( $_SESSION['zalogowany'] ) || $_POST['mode'] == zaloguj )
  3. ?>


Tak jest w kilku miejscach w kodzie... Brak w drugim pliku session_start() a w pierwszym pliku chyba start_session() powinno być na samej górze chociaż tego nie jestem pewny..
mike
Cytat(invx @ 2005-08-30 03:08:03)
Chyba powinno być (...)

O tym napisał już @hwao pisząc:
Cytat(hwao @ 2005-08-30 06:52:11)
ten kod jest paskudny,


Autor tematu powinien zajrzeć do podstaw i to naprawdę "podstawowych podstaw".

Już pomijając tego idiotycznego switch'a, powinno być:
  1. <?php
  2.  
  3. $_POST[ 'value' ];
  4.  
  5. ?>
zamiast:
  1. <?php
  2.  
  3. $_POST[ value ];
  4.  
  5. ?>
php programmer
ja tam nie lubie sesji, jak nie musze to nie uzywam
mike
Cytat(php programmer @ 2005-08-30 13:26:32)
ja tam nie lubie sesji, jak nie musze to nie uzywam

Mówią że ludzie nie lubią i boją się tego czego nie znają tongue.gif Z czasem zmienisz zdanie.

Sesje to bardzo dobry mechanizm za pomocą którego można osiągnąć efekty niedostępne w żaden inny sposób.
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.