mysql - PHP Session doesn't work in my edited script -


just edited php sliding jquery panel form , doesn't work, registration works login doesn't. erased code doesn't matter in problem...

please ignore these error messages in strange language.

<?php error_reporting(0); define('include_check',true); require_once($_server['document_root'] . '/config.php');  session_start(); session_name('avalogin'); session_set_cookie_params(2*7*24*60*60);  if($_session['id'] && !isset($_cookie['avaremember']) && !$_session['rememberme']) {  $_session = array(); session_destroy();  }   if(isset($_get['logoff'])) { $_session = array(); session_destroy(); echo('<script type="text/javascript">window.location = "' . $site_url .'"</script>');     exit; }  if($_post['submit']=='zaloguj') {  // checking whether login form has been submitted  $err = array(); // hold our errors   if(!$_post['username'] || !$_post['password'])     $err[] = 'wszystkie pola muszą być wypełnione!';  if(!count($err)) {     $_post['username'] = mysql_real_escape_string($_post['username']);     $_post['password'] = mysql_real_escape_string($_post['password']);     $_post['rememberme'] = (int)$_post['rememberme'];     echo '';     // escaping input data      $row = mysql_fetch_assoc(mysql_query("select id,usr ava_members usr='{$_post['username']}' , pass='".md5($_post['password'])."'"));      if($row['usr'])     {         // if ok login          $_session['usr']=$row['usr'];         $_session['id'] = $row['id'];         $_session['rememberme'] = $_post['rememberme'];          // store data in session          setcookie('avaremember',$_post['rememberme']);          }     else $err[]='zły login i/lub hasło!'; }  if($err) $_session['msg']['login-err'] = implode('<br />',$err); // save error messages in session    echo('<script type="text/javascript">window.location = "' . $site_url .'"</script>');         exit;     }     else if($_post['submit']=='zarejestruj')     {     // if register form has been submitted      $err = array();      if(strlen($_post['username'])<4 || strlen($_post['username'])>32)     {         $err[]='twój login musi mieć pomiędzy 3 32 znaki!';     }      if(preg_match('/[^a-z0-9\-\_\.]+/i',$_post['username']))     {         $err[]='twoje hasło zawiera niedozwolone znaki!';     }      if(!checkemail($_post['email']))     {         $err[]='twój e-mail jest nieprawidłowy!';     }      if(!count($err))     {         // if there no errors          $pass = substr(md5($_server['remote_addr'].microtime().rand(1,100000)),0,6);         // generate random password          $_post['email'] = mysql_real_escape_string($_post['email']);         $_post['username'] = mysql_real_escape_string($_post['username']);         // escape input data           mysql_query("   insert ava_members(usr,pass,email,regip,dt)                         values(                              '".$_post['username']."',                             '".md5($pass)."',                             '".$_post['email']."',                             '".$_server['remote_addr']."',                             now()                          )");          if(mysql_affected_rows($avalink)==1)         {             send_mail(  'support@avatar.itterek.net',                         $_post['email'],                         $site_name . ' - twoje hasło',                         'twoje hasło to: '.$pass);              $_session['msg']['reg-success']='wysłaliśmy ciebie e-mail z nowym hasłem!';         }         else $err[]='ten login jest już w użyciu!';     }      if(count($err))     {         $_session['msg']['reg-err'] = implode('<br />',$err);     }         echo('<script type="text/javascript">window.location = "' . $site_url .'"</script>');     exit; }  $script = '';  if($_session['msg']) {     // script below shows sliding panel on page load      $script = '     <script type="text/javascript">          $(function(){              $("div#panel").show();             $("#toggle a").toggle();         });      </script>';  } ?>      <link rel="stylesheet" type="text/css" href="<?php echo $login_url; ?>/style.css" media="screen" />     <link rel="stylesheet" type="text/css" href="<?php echo $login_url; ?>/login_panel/css/slide.css" media="screen" />      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>      <!-- png fix ie6 -->     <!-- http://24ways.org/2007/supersleight-transparent-png-in-ie6 -->     <!--[if lte ie 6]>         <script type="text/javascript" src="login_panel/js/pngfix/supersleight-min.js"></script>     <![endif]-->      <script src="<?php echo $login_url; ?>/login_panel/js/slide.js" type="text/javascript"></script>      <?php echo $script; ?> </head>  <body>  <!-- panel --> <div id="toppanel">     <div id="panel">         <div class="content clearfix">             <div class="left">                 <h2>regulamin</h2>                       <p class="grey">rejestracja i/lub logowanie oznaczają akceptację <a href="<?php echo $rules_url; ?>">regulaminu.</a>                 jeśli jeszcze się z nim nie zapoznałeś zapraszamy.</p>                 <h2>doŁĄcz nas</h2>                 <p class="grey">rejestrując się uzyskasz dostęp szerokiej gamy polskich komiksów avatar last airbender!</p>             </div>               <?php              if(!$_session['id']):              ?>              <div class="left">                 <!-- login form -->                 <form class="clearfix" action="" method="post">                     <h1>logowanie</h1>                      <?php                          if($_session['msg']['login-err'])                         {                             echo '<div class="err">'.$_session['msg']['login-err'].'</div>';                             unset($_session['msg']['login-err']);                         }                     ?>                      <label class="grey" for="username">login:</label>                     <input class="field" type="text" name="username" id="username" value="" size="23" />                     <label class="grey" for="password">hasło:</label>                     <input class="field" type="password" name="password" id="password" size="23" />                     <label><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="1" /> &nbsp;pamiętaj mnie</label>                     <div class="clear"></div>                     <input type="submit" name="submit" value="zaloguj" class="bt_login" />                 </form>             </div>             <div class="left right">                             <!-- register form -->                 <form action="" method="post">                     <h1>jeszcze nie masz konta?!</h1>                             <?php                          if($_session['msg']['reg-err'])                         {                             echo '<div class="err">'.$_session['msg']['reg-err'].'</div>';                             unset($_session['msg']['reg-err']);                         }                          if($_session['msg']['reg-success'])                         {                             echo '<div class="success">'.$_session['msg']['reg-success'].'</div>';                             unset($_session['msg']['reg-success']);                         }                     ?>                      <label class="grey" for="username">login:</label>                     <input class="field" type="text" name="username" id="username" value="" size="23" />                     <label class="grey" for="email">email:</label>                     <input class="field" type="text" name="email" id="email" size="23" />                     <label>hasło zostanie ci wysłane.</label>                     <input type="submit" name="submit" value="zarejestruj" class="bt_register" />                 </form>             </div>              <?php              else:              ?>              <div class="left">              <h1>panel użytkownika</h1>              <p>twoja subskrypcja wygasa <?php echo '???'; ?></p>             <a href="?logoff">wyloguj się</a>              </div>              <div class="left right">             </div>              <?php             endif;             ?>         </div>     </div> <!-- /login -->        <!-- tab on top -->      <div class="tab">         <ul class="login">             <li class="left">&nbsp;</li>             <li>witaj <?php echo $_session['usr'] ? $_session['usr'] : 'gościu';?>!</li>             <li class="sep">|</li>             <li id="toggle">                 <a id="open" class="open" href="#"><?php echo $_session['id']?'rozwiń panel':'login | reje';?></a>                 <a id="close" style="display: none;" class="close" href="#">zwiń panel</a>                       </li>             <li class="right">&nbsp;</li>         </ul>      </div> <!-- / top --> </div> </body> </html> 

the problem here:

    <li>witaj <?php echo $_session['usr'] ? $_session['usr'] : 'gościu';?>!</li> 

user not appear... tried many ways fix , guess what? works after redirect other page usr doesnt exists... chmod 755. what's wrong it?

as documented session_name(), must set session name before call session_start(). changing session cookie parameters after session_start().

you cannot this. session settings must changed before start session.


Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -