Выкидывает на главную страницу при входе в админку.

Тема в разделе "PHP", создана пользователем Диман, 24 май 2012.

Модераторы: latteo
  1. Диман

    Диман Постоялец

    Заблокирован
    Регистр.:
    15 фев 2008
    Сообщения:
    52
    Симпатии:
    0
    Всем привет! Помогите пожалуйста найти проблему!Почему-то у меня при входе в админку в моем скрипте выбрасывает на главную страницу сайта.Помогите пожалуйста разобраться.Вот код файла для входа в админку.




    PHP:
    <?php
    require( dirname(__FILE__).'/ib_config.php');
     
    $action= (isset($_POST['action'])) ? $_POST['action'] : 'login';
    $title="Login page";
     
    switch(
    $action) {
            case 
    'login' :
            
    $is_loged_in=false;
            
    $user_login='';
            
    $user_pass='';
            
    $error='';
            if ( 
    $_POST ) {
                    
    $username=trim($_POST['log']);
                    
    $username sanitize_user($username);
                    
    $password=trim($_POST['pwd']);
                    
    //bigin check login
                    
    $redir_to=get_settings('general','siteurl')."/ib_admin/index.php";
     
    $sql="SELECT count(unauth_login) as falses FROM ".$ibcms->unauth." WHERE
    unauth_logintime>DATE_SUB(NOW(),INTERVAL 1 HOUR) AND unauth_ip='
    $REMOTE_ADDR'";
    $errors = @mysql_result(mysql_query($sql),0);
     
     if (
    mysql_error())
     die(
    mysql_error());
     
         elseif (
    $errors>5) {
         
    $ibcms->db_error="Access denied! Try to login from an hour!";
         }
     
         elseif(
    $username=='' || $password==''){
                    
    $ibcms->db_error="Enter login and password!";
                    }
         else {
         
    $sql="SELECT * FROM ".$ibcms->users." WHERE
         user_login='
    $username' AND user_pass='"md5($password). "'";
         
    $result mysql_query($sql);
     
         if (
    mysql_error()) die(mysql_error());
     
         elseif (@
    mysql_num_rows($result)!=1){
         
    $ibcms->db_error="Wrong username or password!";
         
    $sql="INSERT INTO ".$ibcms->unauth." (unauth_login, unauth_pass, unauth_ip, unauth_logintime) VALUES
         ('
    $username', '".md5($password)."', '$REMOTE_ADDR $HTTP_X_FORWARDED_FOR', '".date('Y-m-d H:i:s',mktime())."')";
         @
    mysql_query($sql);
         }
         else {
         
    $data mysql_fetch_assoc($result);
         
    mysql_free_result($result);
         
    //session_set_cookie_params(1800, "/");
         
    session_start();
         
    session_register('user');
         
    $user['login']=$data['user_login'];
         
    $user['pass']=$data['user_pass'];
         
    $user['status']=$data['user_status'];
     
         
    header("Location: {$redir_to}");
         exit();
         }
         }
         if (isset(
    $_COOKIE[session_name()]))
         
    setcookie(session_name(),'');
         unset(
    $user);
         
    //end check login
                    
    }
          
    nocache_headers();
            
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title><?php echo $title?></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" href="ib_admin/admin.css" type="text/css">
    </head>
    <body>
    <div align="center">
    <h3>Login:</h3>
     <div id="logo"></div>
     <div id="error_mes">
     <?php echo $ibcms->db_error?>
     </div>
     <div id="login_form">
      <form name="loginform" id="loginform" action="ib_admin.php" method="post">
       <p>Username&nbsp;:<br>
        <input type="text" name="log" id="log" value="" size="20"/>
       </p>
       <p>Password&nbsp;:<br>
        <input type="password" name="pwd" id="pwd" value="" size="20"/>
       </p>
       <p>
        <input type="submit" name="submit" id="submit" value="Login"/>
       </p>
      </form>
       <!--<p><a href="/ib_admin.php?action=lostpas">Lost your password?</a></p>-->
     </div>
    </div>
    </body>
    </html>
            <?php
            
    break;
            }
    function 
    check_login($username$password$already_md5 false) {
     
    global 
    $ibcms;
     
     
         }
    ?>



    Помогите пожалуйста.Если нужен код ещё какого-то файла выложу без проблем.Спасибо за помощь.
     
  2. dredlotas

    dredlotas Создатель

    Регистр.:
    22 июн 2009
    Сообщения:
    29
    Симпатии:
    3
    PHP:
    $redir_to=get_settings('general','siteurl')."/ib_admin/index.php";
    - код этого файла представлен выше? Если нет - скинь сюда.
    Судя по коду это кмс, если да - то какая. Уточняй сразу.
     
  3. Диман

    Диман Постоялец

    Заблокирован
    Регистр.:
    15 фев 2008
    Сообщения:
    52
    Симпатии:
    0
    нет!

    Самопальная.Писалась давно.ещё вдалеком 2007 году.Случайно нашел её у себя на винте и решил доработать.

    Вот код файла index.php как и просили.


    PHP:
    <?php
    require_once("admin.php");
    require_once(
    "admin_menu.php");
     
    function 
    get_main_users_stat() {
            
    $f="counter.dat";
            
    $f=fopen($f,'r');
            
    flock($f,LOCK_SH);
            
    $st=fread($f,100);
            
    flock($f,LOCK_UN);
            
    fclose($f);
            
    $st=explode('|',$st);
            
    $st[0]=(int)$st[0];
            
    $st[1]=(int)$st[1];
            
    $st[2]=(int)$st[2];
            return 
    $st;
            }
     
    function 
    get_subs_stat() {
            global 
    $ibcms;
            
    $month=date('m'); $year=date('Y');
            
    $month=$month-1;
            if (
    $month==0) {
                    
    $month=12;
                    
    $year=$year-1;
                    }
            
    $sql="SELECT * FROM ".$ibcms->stats." WHERE
            stat_from='"
    .date('Y-m-d',mktime(0,0,0,$month,1,$year))."'";
            
    $result=$ibcms->query($sql);
            if (
    is_array($result)) {
     
                    } else {
     
                            }
            
    $sql="SELECT count(id) FROM ".$ibcms->mailer." WHERE
            active='0' AND unregistered<'"
    .date('Y-m-d',mktime(0,0,0,$month,1,$year))." 00:00:00'";
     
            }
     
    function 
    get_subscribers() {
            global 
    $ibcms;
           
            
    $sql1="SELECT COUNT(id) FROM ".$ibcms->mailer." WHERE ";
            
    $sql[]=$sql1."active='1'";
            
    $from[0]=time(); $to[0]=$from[0]+24*60*60;
            
    $from[1]=time()-24*60*60$to[1]=time();
            
    $weekday=date('w');
            
    $weekday=$weekday-1;
            if (
    $weekday==-1$weekday=6;
            
    $from[2]=time()-$weekday*24*60*60$to[2]=$from[2]+7*24*60*60;
            
    $from[3]=$from[2]-7*24*60*60$to[3]=$from[3]+7*24*60*60;
            
    $from[4]=mktime(0,0,0,date('m'),1,date('Y')); $to[4]=$from[4]+date('t')*24*60*60;
            
    $month=date('m'); $year=date('Y');
            
    $month=$month-1;
            if (
    $month==0) {
                    
    $month=12;
                    
    $year=$year-1;
                    }
            
    $from[5]=mktime(0,0,0,$month,1,$year); $to[5]=$from[5]+date('t',mktime(0,0,0,$month,1,$year))*24*60*60;
            for (
    $i=0$i<count($from); $i++) {
                  
    //echo date('Y-m-d',$from[$i])."to ".date('Y-m-d',$to[$i])."<br>";
            
    $sql[]=$sql1."registered>='".date('Y-m-d',$from[$i])." 00:00:00' AND
            registered<'"
    .date('Y-m-d',$to[$i])." 00:00:00'";
            
    $sql[]=$sql1."active='0' AND unregistered>='".date('Y-m-d',$from[$i])." 00:00:00' AND
            unregistered<'"
    .date('Y-m-d',$to[$i])." 00:00:00'";
                    }
            foreach (
    $sql as $key) {
            
    $result=$ibcms->query($key);
            if (
    is_array($result)) $arr[]=$result[0][0];
            else 
    $arr[]=0;
                    }
            return 
    $arr;
            }
     
    list(
    $online$today$total)=get_main_users_stat();
    list(
    $sub_act$sub_reg_today$sub_unreg_today$sub_reg_yest,
    $sub_unreg_yest$sub_reg_thisweek$sub_unreg_thisweek,
    $sub_reg_lastweek$sub_unreg_lastweek,
    $sub_reg_thismonth$sub_unreg_thismonth,
    $sub_reg_lastmonth$sub_unreg_lastmonth)=get_subscribers();
     
    require_once(
    "admin_header.php");
    ?>
      <tr>
      <td>
        <div id="admin_body">
        <div id="stat">
          <table border=1 cellpadding=0 callspacing=0 width=100%>
          <tr>
            <td>Users activity :</td><td></td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td>Users(visitors):</td><td>Online:</td><td><b><?php echo $online?></b></td><td></td><td></td>
          </tr>
          <tr>
            <td></td><td>Today:</td><td><b><?php echo $today?></b></td><td></td><td></td>
          </tr>
          <tr>
            <td></td><td>Yesterday:</td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td></td><td>Last week:</td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td></td><td>Last month:</td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td></td><td>Total:</td><td><b><?php echo $total?></b></td><td></td><td></td>
          </tr>
          <tr>
            <td></td><td>Record number of visitors was</td><td></td><td>Number</td><td></td>
          </tr>
          <tr>
            <td>Music :</td><td></td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td>Leader of Top20:</td><td>Today</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>Yesterday</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>Last week</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>Last month</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>All time</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td>Looser of Top20:</td><td>Today</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>Yesterday</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>Last week</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>Last month</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td></td><td>All time</td><td></td><td>Voted</td><td></td>
          </tr>
          <tr>
            <td>Banners :</td><td></td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td>More popular:</td><td>Today</td><td></td><td>Clicks</td><td></td>
          </tr>
          <tr>
            <td></td><td>Yesterday</td><td></td><td>Clicks</td><td></td>
          </tr>
          <tr>
            <td></td><td>Last week</td><td></td><td>Clicks</td><td></td>
          </tr>
          <tr>
            <td></td><td>Last month</td><td></td><td>Clicks</td><td></td>
          </tr>
          <tr>
            <td></td><td>All time</td><td></td><td>Clicks</td><td></td>
          </tr>
          <tr>
            <td>Subscribers :</td><td></td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td>Active subscribers:</td><td><?php echo $sub_act;?></td><td></td><td></td><td></td>
          </tr>
          <tr>
            <td>New subscribers:</td><td>Today</td><td><?php echo $sub_reg_today;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_today;?></td>
          </tr>
          <tr>
            <td></td><td>Yesterday</td><td><?php echo $sub_reg_yest;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_yest;?></td>
          </tr>
          <tr>
            <td></td><td>This week</td><td><?php echo $sub_reg_thisweek;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_thisweek;?></td>
          </tr>
          <tr>
            <td></td><td>Last week</td><td><?php echo $sub_reg_lastweek;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_lastweek;?></td>
          </tr>
          <tr>
            <td></td><td>This month</td><td><?php echo $sub_reg_thismonth;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_thismonth;?></td>
          </tr>
          <tr>
            <td></td><td>Last month</td><td><?php echo $sub_reg_lastmonth;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_lastmonth;?></td>
          </tr>
          <tr>
            <td></td><td>All time:</td><td></td><td>Unsubscribed</td><td></td>
          </tr>
          </table>
        </div>
        </div>
      </td>
      </tr>
    <?php
    require_once("admin_footer.php");
    ?>
     
  4. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    681
    Симпатии:
    582
    Обработчик выкладывай ib_admin.php
     
  5. Диман

    Диман Постоялец

    Заблокирован
    Регистр.:
    15 фев 2008
    Сообщения:
    52
    Симпатии:
    0
    Вот!файл admin.php, ib_admin.php я выкладывал в первом посте :)


    PHP:
    <?php
    require('../ib_config.php');
    $session_error false;
     
    if (!isset(
    $_COOKIE[session_name()]))
      
    $session_error true;
     
    else {
      
    session_start();
      
    session_register("user");
     
      if (!isset(
    $user["login"]) || !isset($user["pass"]) || !isset($user["status"]))
        
    $session_error true;
      };
     
    if (!
    $session_error) {
      
    $sql="SELECT user_id FROM ".$ibcms->users." WHERE
        user_login='
    {$user['login']}' AND user_pass='{$user['pass']}'
        AND user_status='
    {$user['status']}'";
      
    $check_result mysql_query($sql);
     
      if (
    mysql_error() || @mysql_num_rows($check_result) != 1)
        
    $session_error true;
      };
     
    if (
    $session_error) {
     
      @
    session_destroy();
     
      if (isset(
    $_COOKIE[session_name()]))
        @
    setcookie(session_name(),"","/");
     
      @
    header("Location: ".get_settings('general','siteurl'));
     
      exit();
      };
     
    mysql_free_result($check_result);
    ?>
     
  6. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    681
    Симпатии:
    582
    убери action="ib_admin.php" :crazy:
     
  7. Диман

    Диман Постоялец

    Заблокирован
    Регистр.:
    15 фев 2008
    Сообщения:
    52
    Симпатии:
    0
    Что-то я не нахожу.Где это?
     
  8. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    681
    Симпатии:
    582
    Из формы <form name="loginform" id="loginform" action="ib_admin.php" method="post">
    Зачем отправлять данные формы если обработчик здесь.
     
  9. Диман

    Диман Постоялец

    Заблокирован
    Регистр.:
    15 фев 2008
    Сообщения:
    52
    Симпатии:
    0
    Спасибо! Убрал.Ничего не изменилось :(
     
  10. niza

    niza

    Регистр.:
    7 май 2009
    Сообщения:
    495
    Симпатии:
    115
    скрипт аж 2007
    с какого браузера входишь?
    наверно с оперы?