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" /> 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"> </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"> </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
Post a Comment