Sesje na serwie w cba

Regulamin działu
Kolorowanie składni :
[php][/php], [sql][/sql], [html][/html], [css][/css], [js][/js], [python][/python], [perl][/perl], [ruby][/ruby], [xml][/xml], [xsl][/xsl]

Sesje na serwie w cba

Postprzez policeman13 4 wrz 2009, o 15:59

Skrypt(mój własny) logowania oparty na sesjach na [regulamin forum: punkt 2.13] działał(tam go sprawdzałem i tworzyłem) lecz kiedy skopiowałem i dostosowałem go do mojej aktualnej bazy danych itd. wyskakują błędy iż zmienne sesyjne(które na bank istnieją(są aktywowane po zalogowaniu)) nie istnieją!

Oto błędy:

Notice: Undefined index: zalogowany in /var/www/virtual/gerbetor.cba.pl/panel.php on line 57

Notice: Undefined index: zalogowany in /var/www/virtual/gerbetor.cba.pl/panel.php on line 86

Właściwie logowanie działa lecz kiedy wchodzę na "panel" użytkownika pokazuje że nie mogę wejść ponieważ nie jestem zalogowany(a jestem).

Oto kod z panelu:
Kod: Zaznacz cały
  1.  
  2. <?php
  3. session_start();
  4. error_reporting(E_ALL);
  5. if($_SESSION['zalogowany'] == 1)
  6. {
  7. $user = 'policeman';
  8. $password = '***';
  9. $database = 'gerbetor_cba_pl';
  10.  
  11. $mysql = @mysql_connect('mysql.cba.pl', $user, $password);
  12. $db = @mysql_select_db($database);
  13. $query = @mysql_query("SELECT nazwa,lvl,dos,hp FROM dane WHERE nazwa='".$_SESSION['nick']."'");
  14.  
  15.  
  16. if(!$mysql){
  17.  echo "mysql";
  18.  die();
  19. }
  20. if(!$db){
  21.  echo "db";
  22.  die();
  23. }
  24. if(!$query){
  25.  echo "query";
  26.  die();
  27. }
  28.  
  29. $dane=mysql_fetch_row($query);
  30. echo "Twoja postać ma ".$dane[1]." lvl, ".$dane[2]." doświadczenia oraz ".$dane[3]." życia.";
  31.  
  32.  
  33. }
  34. if(!$_SESSION['zalogowany'] == 1 )
  35. {
  36. echo "soryy, strona nie dla ciebie!";
  37. }
  38. @mysql_close();
  39. ?>
  40.  


A to kod z logowania(tworzenia sesji):
Kod: Zaznacz wszystko
Kod: Zaznacz cały
  1.  
  2. <?php
  3. $nick=htmlspecialchars(strip_tags($_POST['nick']));
  4. $haslo=htmlspecialchars(strip_tags($_POST['haslo']));
  5. $hasloz=sha1($haslo);
  6.  
  7.  
  8. $user = 'policeman';
  9. $password = '***';
  10. $database = 'gerbetor_cba_pl';
  11.  
  12. $mysql = @mysql_connect('mysql.cba.pl', $user, $password);
  13. $db = @mysql_select_db($database);
  14. $query = @mysql_query("SELECT nick,haslo,mail FROM konta WHERE nick='".$nick."'");
  15. @mysql_close();
  16.  
  17. if(!$mysql){
  18.  echo "mysql";
  19.  die();
  20. }
  21. if(!$db){
  22.  echo "db";
  23.  die();
  24. }
  25. if(!$query){
  26.  echo "query";
  27.  die();
  28. }
  29.  
  30. $user = mysql_fetch_row($query);
  31. $pw=false;
  32. $lo=false;
  33.  
  34. if($nick==$user[0])
  35.  $lo=true;
  36. if($hasloz==$user[1])
  37.  $pw=true;
  38.  
  39. if($lo==true and $pw==true)
  40. {
  41.  echo "Zostałeś zalogowany!";
  42.  session_start();
  43.  $_SESSION['zalogowany']=1;
  44. $_SESSION['nick']=$nick;
  45.  
  46. echo "<br /><a class='miteml mitemv mitemh' href=panel.php>Postać</a>";
  47. }
  48.  
  49. if(!$lo or !$pw)
  50.  echo "Hasło lub login jest niepoprawny!";
  51.  
  52. ?>
  53.  
Jestem kim jestem, i nic tego nie zmieni!

Avatar użytkownika
policeman13
 
Posty: 10
Dołączył(a): 7 sie 2009, o 05:07

Re: SESJE na serwie w cba

Postprzez zbt 4 wrz 2009, o 16:26

w panle.php nie dales session_start();

Btw
Kod: Zaznacz cały
  1. if(!$_SESSION['zalogowany'] == 1 )


lol ?
Tyle jesteś wart, ile od siebie możesz dać...

Avatar użytkownika
zbt
 
Posty: 55
Dołączył(a): 28 lip 2009, o 13:08
Lokalizacja: /etc/hosts

Re: SESJE na serwie w cba

Postprzez policeman13 4 wrz 2009, o 16:36

Że co?! Ty nie wiem... nie widzisz???

Kod: Zaznacz cały
  1.  
  2. <?php
  3. session_start();
  4. error_reporting(E_ALL);
  5. if($_SESSION['zalogowany'] == 1)
  6.  
Jestem kim jestem, i nic tego nie zmieni!

Avatar użytkownika
policeman13
 
Posty: 10
Dołączył(a): 7 sie 2009, o 05:07

Re: SESJE na serwie w cba

Postprzez zbt 4 wrz 2009, o 17:30

No, nie widze - interpretuje:
Notice: Undefined index: zalogowany in /var/www/virtual/gerbetor.cba.pl/panel.php on line 57

Notice: Undefined index: zalogowany in /var/www/virtual/gerbetor.cba.pl/panel.php on line 86


Wkleiles kod, ktory konczy sie na 40 linii.

Przed skryptem jest html ?

http://pl.php.net/function.session-start napisał(a):Informacja: Jeśli używasz sesji opartych o ciasteczka, to session_start() musi być wywołane przed wysłaniem jakichkolwiek danych do przeglądarki.

Informacja: Od PHP 4.3.3, wywołanie session_start() podczas gdy sesja już została rozpoczęta, spowoduje błąd poziomu E_NOTICE. Drugie rozpoczęcie sesji zostanie zignorowane.



Kod: Zaznacz cały
  1. echo "Zostałeś zalogowany!";
  2. session_start();
  3. $_SESSION['zalogowany']=1;
  4. $_SESSION['nick']=$nick;


Pozdrawiam
Tyle jesteś wart, ile od siebie możesz dać...

Avatar użytkownika
zbt
 
Posty: 55
Dołączył(a): 28 lip 2009, o 13:08
Lokalizacja: /etc/hosts

Re: SESJE na serwie w cba

Postprzez liberator 4 wrz 2009, o 21:01

Witam, z mojej strony taka malutka uwaga do autora tematu. Nazwa tematu powinna być pisana w sposób prawidłowy, czyli bez krzyku. Konkretnie chodzi o wyraz "SESJE". Co jak co, ale unoszenie się nie jest tutaj wskazane, obędzie się bez tego, a więc następnym razem proszę o normalną pisownię. Pozdrawiam, liberator.
"Daj komuś rybę, a nakarmisz go na jeden dzień. Naucz go łowić ryby, a nakarmisz go na całe życie."

Avatar użytkownika
liberator
Site Admin
 
Posty: 27
Dołączył(a): 24 lip 2009, o 13:15

Re: Sesje na serwie w cba

Postprzez widmo 12 paź 2009, o 16:17

Ja jak się bawiłem w logowanie używałem session_register() ;>

widmo
 
Posty: 4
Dołączył(a): 12 sie 2009, o 23:03

Re: Sesje na serwie w cba

Postprzez k!M 12 paź 2009, o 19:03

session_register() wymaga włączenia register_globals co nie jest chyba zbyt dobrym pomysłem.

Avatar użytkownika
k!M
 
Posty: 17
Dołączył(a): 18 sie 2009, o 11:55

Re: Sesje na serwie w cba

Postprzez widmo 12 paź 2009, o 20:49

session_register() wymaga włączenia register_globals co nie jest chyba zbyt dobrym pomysłem.

Czemu? I tak wszystko zależy od umiejętności programisty. Poza tym, jak serwer nie jest własny a register_globals jest włączone to czemu nie używać? ; d

widmo
 
Posty: 4
Dołączył(a): 12 sie 2009, o 23:03


Powrót do PHP

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości

cron