Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] sesja utracona
AsenClave
post 13.11.2010, 20:33:05
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 5.10.2010

Ostrzeżenie: (0%)
-----


Nie wiem, dlaczego tak sie zachowuje :/

Testy prosze przeprowadzac pod tym adresem (jest tez zaladowany phpinfo(); ) http://195.211.2.7/

Konto probne: login(test) passwd(test)

A tu kod strony:
  1. <?php
  2.  
  3. echo '<div>Test kroju czcionki</div>';
  4.  
  5. mysql_connect( '/hide/', '/hide/', '/hide/ ' );
  6. mysql_select_db( '/hide/' );
  7.  
  8. if ( $_SESSION['auth'] != 1 ) $_SESSION['auth'] = false;
  9.  
  10. if ( strlen( $_POST['login'] ) && strlen( $_POST['passwd'] ) ) login( $_POST['login'], $_POST['passwd'] );
  11.  
  12. function login( $login, $passwd ) {
  13. $login = md5( $login );
  14. $passwd = md5( $passwd );
  15.  
  16. $query = mysql_query( "SELECT * FROM `account` WHERE `login`='$login' AND `passwd`='$passwd' LIMIT 1" );
  17.  
  18. if ( $mysql_num_rows( $query ) ) {
  19. $row = mysql_fetch_array( $query );
  20.  
  21. $_SESSION['auth'] = true;
  22.  
  23. $_SESSION['account-id'] = $row['id'];
  24. $_SESSION['account-name'] = $row['name'];
  25. $_SESSION['account-email'] = $row['email'];
  26. }
  27. }
  28.  
  29. /*
  30. $login = md5( 'test' );
  31. $passwd = md5( 'test' );
  32. $name = 'Test';
  33. $email = 'test@test.test';
  34. $data = time();
  35.  
  36. mysql_query( "INSERT INTO `account` VALUES ( NULL, '$login', '$passwd', '$name', '$email', '$data' )" );
  37. */
  38. ?>
  39. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  40. <style type="text/css">
  41. * { font-family: "DejaVu Sans", Verdana; font-size: 13px; color: #777777; }
  42.  
  43. input, textarea { border: 1px solid #dddddd; background-color: #eeeeee; }
  44. form { margin: 0px; padding: 0px; }
  45.  
  46. .package { width: 780px; margin: 0px auto; }
  47. .login { width: 140px; margin: 0px auto; }
  48.  
  49. .align-right { text-align: right; }
  50. .align-center { text-align: center; }
  51.  
  52. .width-90 { width: 90%; }
  53.  
  54. .move-little-lower { margin-top: 2px; }
  55. </style>
  56. <div>Test kroju czcionki</div>
  57. <div class="package">
  58. <?php
  59. if ( ! $_SESSION['auth'] ) include( 'login.htm' );
  60. else
  61. echo 'ok.';
  62.  
  63. ?>
  64. </div>


  1. <div class="login">
  2. <form action="index.php" method="post">
  3. <div class="">Login:</div>
  4. <div class="align-right"><input class="align-center width-90" type="text" name="login" value="" /></div>
  5. <div class="">Password:</div>
  6. <div class="align-right"><input class="align-center width-90" type="password" name="passwd" value="" /></div>
  7. <div class="align-right"><input class="move-little-lower" type="submit" value="Accept" /></div>
  8. </form>
  9. </div>
Go to the top of the page
+Quote Post
daros17
post 13.11.2010, 20:51:01
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


Nie jestem pewien czy to zadziała, ale na początku dodaj
  1. if(isset($_SESSION['login'])) {
  2. echo'Jestes zalogowany';
  3. } else {
  4. //dalsza cześć kodu
Go to the top of the page
+Quote Post
AsenClave
post 13.11.2010, 20:57:26
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 5.10.2010

Ostrzeżenie: (0%)
-----


Cytat(daros17 @ 13.11.2010, 21:51:01 ) *
Nie jestem pewien czy to zadziała, ale na początku dodaj
  1. if(isset($_SESSION['login'])) {
  2. echo'Jestes zalogowany';
  3. } else {
  4. //dalsza cześć kodu


Poprawilem na odpowiednik bo zmiennej $_SESSION['login'] nie posiadam;

  1. <?php
  2.  
  3. if ( isset( $_SESSION['account-name'] ) ) echo 'zalogowany';
  4. else {
  5. echo '<div>Test kroju czcionki</div>';
  6.  
  7. mysql_connect( '127.0.0.1', 'root', 'uX25acT35#' );
  8. mysql_select_db( 'dreamer' );
  9.  
  10. if ( $_SESSION['auth'] != 1 ) $_SESSION['auth'] = false;
  11.  
  12. if ( strlen( $_POST['login'] ) && strlen( $_POST['passwd'] ) ) login( $_POST['login'], $_POST['passwd'] );
  13.  
  14. function login( $login, $passwd ) {
  15. $login = md5( $login );
  16. $passwd = md5( $passwd );
  17.  
  18. $query = mysql_query( "SELECT * FROM `account` WHERE `login`='$login' AND `passwd`='$passwd' LIMIT 1" );
  19.  
  20. if ( $mysql_num_rows( $query ) ) {
  21. $row = mysql_fetch_array( $query );
  22.  
  23. $_SESSION['auth'] = true;
  24.  
  25. $_SESSION['account-id'] = $row['id'];
  26. $_SESSION['account-name'] = $row['name'];
  27. $_SESSION['account-email'] = $row['email'];
  28. }
  29. }
  30.  
  31. /*
  32. $login = md5( 'test' );
  33. $passwd = md5( 'test' );
  34. $name = 'Test';
  35. $email = 'test@test.test';
  36. $data = time();
  37.  
  38. mysql_query( "INSERT INTO `account` VALUES ( NULL, '$login', '$passwd', '$name', '$email', '$data' )" );
  39. */
  40. ?>
  41. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  42. <style type="text/css">
  43. * { font-family: "DejaVu Sans", Verdana; font-size: 13px; color: #777777; }
  44.  
  45. input, textarea { border: 1px solid #dddddd; background-color: #eeeeee; }
  46. form { margin: 0px; padding: 0px; }
  47.  
  48. .package { width: 780px; margin: 0px auto; }
  49. .login { width: 140px; margin: 0px auto; }
  50.  
  51. .align-right { text-align: right; }
  52. .align-center { text-align: center; }
  53.  
  54. .width-90 { width: 90%; }
  55.  
  56. .move-little-lower { margin-top: 2px; }
  57. </style>
  58. <div>Test kroju czcionki</div>
  59. <div class="package">
  60. <?php
  61. if ( ! $_SESSION['auth'] ) include( 'login.htm' );
  62. else
  63. echo 'ok.';
  64.  
  65. ?>
  66. </div>
  67. <?php
  68. }
  69. ?>



i nic nie dalo...

Ten post edytował AsenClave 13.11.2010, 20:58:35
Go to the top of the page
+Quote Post
daros17
post 13.11.2010, 21:04:29
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


W pierwszym poście napisałeś, że konto testowe to test|test wpisując np 1|1 to i tak pokaże mi napis Test kroju czcionki
Go to the top of the page
+Quote Post
AsenClave
post 13.11.2010, 21:10:22
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 5.10.2010

Ostrzeżenie: (0%)
-----


Cytat(daros17 @ 13.11.2010, 22:04:29 ) *
W pierwszym poście napisałeś, że konto testowe to test|test wpisując np 1|1 to i tak pokaże mi napis Test kroju czcionki


Zrob w ten sposob, otworz nowa zakladke (przegladarke) zaloguj sie, nastepnie kliknij na adres strony i nacisnij [ENTER] i powroci do logowania spowrotem.
Powinno pokazac dwa takie same zdania, a jest jedno po zalogowaniu, a dwa po odswiezeniu strony + panel logowania.

Pewnie zauwazyles tez ze kroj czcionki sie zmienia, tak jakby CSS nie zaladowalo po zalogowaniu.

Ten post edytował AsenClave 13.11.2010, 21:12:44
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 17:53