Проблем при логин

niksdevil

Registered
Здравейте, според вас какъв може да е проблема: ето следната ситуация

Влиза си потребителя влиза влиза влиза и на края не може :shock: , може ли да е cookitata, показва че се логва обаче не му се показват функциите на логнат потребител ?
 
Освен да си правил някакви промени да речем като има на session или на cookie ?
Или някаква грешка при проверката.
Дай малко код да погледнем ;)
 
<?php
if(!$session->logged_in) {
?>
<form method="post" name="loginform" action="process.php"> <table width="304" cellspacing="0" cellpadding="0" class="comm" align="center"> <tr> <td>Име</td> <td><input id="user" maxlength="50" size="8" style="width: 82px;" type="text" name="user" value="" class="inputText" /></td> <td>Парола</td> <td><input id="pass" maxlength="50" size="8" style="width: 82px;" type="password" name="pass" value="" class="inputText" /></td> </tr> </table> <table width="304" cellspacing="0" cellpadding="0" class="kare_login" align="center"> <tr> <td>Запомни ме?</td> <td><select name="nonxpcookie" class="inputCombo"><option value="1">Да</option><option value="0">Не</option></select></td> <td><input type="submit" name="sublogin" value="Влез" class="inputLogin" /></td> </tr> </table> <table width="304" cellspacing="0" cellpadding="0" class="kare_login2" align="center"> <tr><center> <a href=http://otka4alki.wtf.la/register/index.php>Регистрация</a></tr> </center> </table> <input type="hidden" name="islogin" value="1" /> </form> <tr> <td valign="middle" align="center" height="40" width="315"> <Br> </td> </tr>

<?php
} else {
$req_user_info = $database->getUserInfo($session->username);
?>


<?php include('include/islogged.php'); ?>




<?php } ?>
process.php
Код:
<?
/**
 * Process.php
 * 
 * The Process class is meant to simplify the task of processing
 * user submitted forms, redirecting the user to the correct
 * pages if errors are found, or if form is successful, either
 * way. Also handles the logout procedure.
 *
 * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC)
 * Last Updated: August 19, 2004
 */
include("include/session.php");

class Process
{
   /* Class constructor */
   function Process(){
      global $session;
      /* User submitted login form */
      if(isset($_POST['sublogin'])){
         $this->procLogin();
      }
      /* User submitted registration form */
      else if(isset($_POST['subjoin'])){
         $this->procRegister();
      }
      /* User submitted forgot password form */
      else if(isset($_POST['subforgot'])){
         $this->procForgotPass();
      }
      /* User submitted edit account form */
      else if(isset($_POST['subedit'])){
         $this->procEditAccount();
      }
      /**
       * The only other reason user should be directed here
       * is if he wants to logout, which means user is
       * logged in currently.
       */
      else if($session->logged_in){
         $this->procLogout();
      }
      /**
       * Should not get here, which means user is viewing this page
       * by mistake and therefore is redirected.
       */
       else{
          header("Location: main.php");
       }
   }

   /**
    * procLogin - Processes the user submitted login form, if errors
    * are found, the user is redirected to correct the information,
    * if not, the user is effectively logged in to the system.
    */
   function procLogin(){
      global $session, $form;
      /* Login attempt */
      $retval = $session->login($_POST['user'], $_POST['pass'], isset($_POST['remember']));
      
      /* Login successful */
      if($retval){
          header("Location: index.php");
      }
      /* Login failed */
      else{
         $_SESSION['value_array'] = $_POST;
         $_SESSION['error_array'] = $form->getErrorArray();
         header("Location: ".$session->referrer);
      }
   }
   
   /**
    * procLogout - Simply attempts to log the user out of the system
    * given that there is no logout form to process.
    */
   function procLogout(){
      global $session;
      $retval = $session->logout();
      header("Location: main.php");
   }
   
   /**
    * procRegister - Processes the user submitted registration form,
    * if errors are found, the user is redirected to correct the
    * information, if not, the user is effectively registered with
    * the system and an email is (optionally) sent to the newly
    * created user.
    */
   function procRegister(){
      global $session, $form;
      /* Convert username to all lowercase (by option) */
      if(ALL_LOWERCASE){
         $_POST['user'] = strtolower($_POST['user']);
      }
      /* Registration attempt */
      $retval = $session->register($_POST['user'], $_POST['pass'], $_POST['pass2'], $_POST['email'], $_POST['sex'], $_POST['fname'], $_POST['lname'], $_POST['city'], $_SESSION['security_code'], $_POST['security_code']);

      /* Registration Successful */
      if($retval == 0){
         $_SESSION['reguname'] = $_POST['user'];
         $_SESSION['regsuccess'] = true;
         header("Location: ".$session->referrer);
      }
      /* Error found with form */
      else if($retval == 1){
         $_SESSION['value_array'] = $_POST;
         $_SESSION['error_array'] = $form->getErrorArray();
         header("Location: ".$session->referrer);
      }
      /* Registration attempt failed */
      else if($retval == 2){
         $_SESSION['reguname'] = $_POST['user'];
         $_SESSION['regsuccess'] = false;
         header("Location: ".$session->referrer);
      }
   }
   
   /**
    * procForgotPass - Validates the given username then if
    * everything is fine, a new password is generated and
    * emailed to the address the user gave on sign up.
    */
   function procForgotPass(){
      global $database, $session, $mailer, $form;
      /* Username error checking */
      $subuser = $_POST['user'];
      $field = "user";  //Use field name for username
      if(!$subuser || strlen($subuser = trim($subuser)) == 0){
         $form->setError($field, "* Username not entered<br>");
      }
      else{
         /* Make sure username is in database */
         $subuser = stripslashes($subuser);
         if(strlen($subuser) < 5 || strlen($subuser) > 30 ||
            !eregi("^([0-9a-z])+$", $subuser) ||
            (!$database->usernameTaken($subuser))){
            $form->setError($field, "* Username does not exist<br>");
         }
      }
      
      /* Errors exist, have user correct them */
      if($form->num_errors > 0){
         $_SESSION['value_array'] = $_POST;
         $_SESSION['error_array'] = $form->getErrorArray();
      }
      /* Generate new password and email it to user */
      else{
         /* Generate new password */
         $newpass = $session->generateRandStr(8);
         
         /* Get email of user */
         $usrinf = $database->getUserInfo($subuser);
         $email  = $usrinf['email'];
         
         /* Attempt to send the email with new password */
         if($mailer->sendNewPass($subuser,$email,$newpass)){
            /* Email sent, update database */
            $database->updateUserField($subuser, "password", md5($newpass));
            $_SESSION['forgotpass'] = true;
         }
         /* Email failure, do not change password */
         else{
            $_SESSION['forgotpass'] = false;
         }
      }
      
      header("Location: ".$session->referrer);
   }
   
   /**
    * procEditAccount - Attempts to edit the user's account
    * information, including the password, which must be verified
    * before a change is made.
    */
   function procEditAccount(){
      global $session, $form;
      /* Account edit attempt */
			$retval = $session->editAccount($_POST['curpass'], $_POST['newpass'], strip_tags($_POST['email']), strip_tags($_POST['fname']), strip_tags($_POST['lname']), strip_tags($_POST['day']), strip_tags($_POST['month']), 
			strip_tags($_POST['year']), strip_tags($_POST['city']), 
strip_tags($_POST['sex']), strip_tags($_POST['sport']), strip_tags($_POST['movie']), strip_tags($_POST['music']), 
strip_tags($_POST['book']), strip_tags($_POST['eyes']), strip_tags($_POST['drink']), strip_tags($_POST['smoke']), 
strip_tags($_POST['rast']), strip_tags($_POST['teglo']), strip_tags($_POST['info']));

      /* Account edit successful */
      if($retval){
         $_SESSION['useredit'] = true;
         header("Location: ".$session->referrer);
      }
      /* Error found with form */
      else{
         $_SESSION['value_array'] = $_POST;
         $_SESSION['error_array'] = $form->getErrorArray();
         header("Location: ".$session->referrer);
      }
   }
};

/* Initialize process */
$process = new Process;

?>
 

Back
Горе