Ошибка в php

Discussion in 'PHP' started by Wetal, 3 Mar 2017.

  1. Wetal

    Wetal New Member

    Joined:
    6 Mar 2013
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Мой сайт выдает ошибку Parse error: syntax error, unexpected end of file in тамто тамто on line 1
    Открываю этот файл, а там весь код взят в комментарий. Как сделать так чтобы комент закончился в определенном месте? (скрипт делал не я).
    [​IMG]
     
  2. Zen1T21

    Zen1T21 Member

    Joined:
    13 Jan 2013
    Messages:
    157
    Likes Received:
    37
    Reputations:
    2
    Коммент оберни в /**/
     
  3. bologer

    bologer Member

    Joined:
    25 Nov 2016
    Messages:
    62
    Likes Received:
    18
    Reputations:
    3
    Во-первых, пожалуйста поставьте скрипт в PHP тег на форуме.
    Во-вторых, на такой ужасный шрифт даже смотреть невозможно. даже если вы хотите показывать код в виде скриншота.

    Я примерно понимаю в чем проблема (используете однострочный комментарий для кода в одну строку, тем самым все остальное после "#" стало комментарием). Могу попробовать дать решение после того как напишите сюда код из этого файла.
     
  4. Wetal

    Wetal New Member

    Joined:
    6 Mar 2013
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Вот:
    PHP:
    <?php# Модель авторизации администратораclass M_Admin{     private static $instance;   # экземпляр класса   # Получение единственного экземпляра класса   public static function Instance()   {     if (self::$instance == null)       self::$instance = new M_Admin();           return self::$instance;   }   /**   * Функция авторизации   *   * @return boolean   */   public function CheckLogin()   {  global $config;     $login_successful = false;         $logout = (isset($_SESSION['logout'])) ? $_SESSION['logout'] : false;         # Вариант для CGI     if (isset($_GET['http_autorization']))       list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_GET['http_autorization'], 6)));     # Проверка логина и пароля     if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))     {       if ($_SERVER['PHP_AUTH_USER'] == $config['admin']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['admin']['password'] && $logout != true)       {         $_SESSION['access_type'] = 'admin';         $login_successful = true;       }       elseif ($config['manager']['enabled'] !== true && $_SERVER['PHP_AUTH_USER'] == $config['manager']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['manager']['password'] && $logout != true)       {         $_SESSION['access_type'] = 'manager';         $login_successful = true;       }       elseif ($config['manager']['enabled'] === true)       {         $this->mDB = M_DB::Instance();         $params = array ('email =', 'password =');         $values = array ('\'' . $_SERVER['PHP_AUTH_USER'] . '\'', '\'' . $_SERVER['PHP_AUTH_PW'] . '\'');         $search_type = array ('AND');                 $result = $this->mDB->SearchItemsByParamArray('manager', $params, $values, $search_type);               if ($result == true && $logout != true)         {           $_SESSION['access_type'] = 'manager';           $login_successful = true;         }       }     }     # Если юзер не залогинен     if (!$login_successful)     {       # Форма авторизации       header('WWW-Authenticate: Basic realm="Enter login and password"');       header('HTTP/1.0 401 Unauthorized');     }     else     {       return true;     }   }}
    Могу еще так:


    <?php# Модель авторизации администратораclass M_Admin{ private static $instance; # экземпляр класса # Получение единственного экземпляра класса public static function Instance() { if (self::$instance == null) self::$instance = new M_Admin(); return self::$instance; } /** * Функция авторизации * * @return boolean */ public function CheckLogin() { global $config; $login_successful = false; $logout = (isset($_SESSION['logout'])) ? $_SESSION['logout'] : false; # Вариант для CGI if (isset($_GET['http_autorization'])) list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_GET['http_autorization'], 6))); # Проверка логина и пароля if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { if ($_SERVER['PHP_AUTH_USER'] == $config['admin']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['admin']['password'] && $logout != true) { $_SESSION['access_type'] = 'admin'; $login_successful = true; } elseif ($config['manager']['enabled'] !== true && $_SERVER['PHP_AUTH_USER'] == $config['manager']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['manager']['password'] && $logout != true) { $_SESSION['access_type'] = 'manager'; $login_successful = true; } elseif ($config['manager']['enabled'] === true) { $this->mDB = M_DB::Instance(); $params = array ('email =', 'password ='); $values = array ('\'' . $_SERVER['PHP_AUTH_USER'] . '\'', '\'' . $_SERVER['PHP_AUTH_PW'] . '\''); $search_type = array ('AND'); $result = $this->mDB->SearchItemsByParamArray('manager', $params, $values, $search_type); if ($result == true && $logout != true) { $_SESSION['access_type'] = 'manager'; $login_successful = true; } } } # Если юзер не залогинен if (!$login_successful) { # Форма авторизации header('WWW-Authenticate: Basic realm="Enter login and password"'); header('HTTP/1.0 401 Unauthorized'); } else { return true; } }}
     
  5. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,399
    Likes Received:
    883
    Reputations:
    859
    как минимум так:
    PHP:
    <?php# Модель авторизации администратораclass
    M_Admin{     private static $instance;  
    # экземпляр класса  
    # Получение единственного экземпляра класса  
    public static function Instance()   {     if (self::$instance == null)       self::$instance = new M_Admin();           return self::$instance;   }  
    /**   * Функция авторизации   *   * @return boolean   */  
    public function CheckLogin()   {  global $config;     $login_successful false;         $logout = (isset($_SESSION['logout'])) ? $_SESSION['logout'] : false;        
    # Вариант для CGI    
    if (isset($_GET['http_autorization']))       list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' base64_decode(substr($_GET['http_autorization'], 6)));    
    # Проверка логина и пароля    
    if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))     {       if ($_SERVER['PHP_AUTH_USER'] == $config['admin']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['admin']['password'] && $logout != true)       {         $_SESSION['access_type'] = 'admin';         $login_successful true;       }       elseif ($config['manager']['enabled'] !== true && $_SERVER['PHP_AUTH_USER'] == $config['manager']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['manager']['password'] && $logout != true)       {         $_SESSION['access_type'] = 'manager';         $login_successful true;       }       elseif ($config['manager']['enabled'] === true)       {         $this->mDB M_DB::Instance();         $params = array ('email =''password =');         $values = array ('\'' $_SERVER['PHP_AUTH_USER'] . '\'''\'' $_SERVER['PHP_AUTH_PW'] . '\'');         $search_type = array ('AND');                 $result $this->mDB->SearchItemsByParamArray('manager'$params$values$search_type);               if ($result == true && $logout != true)         {           $_SESSION['access_type'] = 'manager';           $login_successful true;         }       }     }    
    # Если юзер не залогинен    
    if (!$login_successful)     {      
    # Форма авторизации      
    header('WWW-Authenticate: Basic realm="Enter login and password"');      
    header('HTTP/1.0 401 Unauthorized');     }     else     {       return true;     }   }}
    А дальше сами приводите в болие читабельный формат
     
    _________________________
  6. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    http://beta.phpformatter.com/

    PHP:
    <?php

    # Модель авторизации администратора
    class M_Admin
    {
       private static 
    $instance;
       
    # экземпляр класса
       # Получение единственного экземпляра класса
       
    public static function Instance()
       {
         if (
    self::$instance == null)
           
    self::$instance = new M_Admin();
         return 
    self::$instance;
       }
       
    /**  * Функция авторизации  *  * @return boolean  */
       
    public function CheckLogin()
       {
         global 
    $config;
         
    $login_successful false;
         
    $logout  = (isset($_SESSION['logout'])) ? $_SESSION['logout'] : false;
         
    # Вариант для CGI 
         
    if (isset($_GET['http_autorization']))
           list(
    $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':'base64_decode(substr($_GET['http_autorization'], 6)));
         
    # Проверка логина и пароля 
         
    if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))
         {
           if (
    $_SERVER['PHP_AUTH_USER'] == $config['admin']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['admin']['password'] && $logout != true)
           {
             
    $_SESSION['access_type'] = 'admin';
             
    $login_successful  true;
           }
           elseif (
    $config['manager']['enabled'] !== true && $_SERVER['PHP_AUTH_USER'] == $config['manager']['login'] && md5($_SERVER['PHP_AUTH_PW']) == $config['manager']['password'] && $logout != true)
           {
             
    $_SESSION['access_type'] = 'manager';
             
    $login_successful  true;
           }
           elseif (
    $config['manager']['enabled'] === true)
           {
             
    $this->mDB  M_DB::Instance();
             
    $params  = array(
               
    'email =',
               
    'password ='
             
    );
             
    $values  = array(
               
    '\'' $_SERVER['PHP_AUTH_USER'] . '\'',
               
    '\'' $_SERVER['PHP_AUTH_PW'] . '\''
             
    );
             
    $search_type = array(
               
    'AND'
             
    );
             
    $result  $this->mDB->SearchItemsByParamArray('manager'$params$values$search_type);
             if (
    $result == true && $logout != true)
             {
               
    $_SESSION['access_type'] = 'manager';
               
    $login_successful  true;
             }
           }
         }
         
    # Если юзер не залогинен 
         
    if (!$login_successful)
         {
           
    # Форма авторизации 
           
    header('WWW-Authenticate: Basic realm="Enter login and password"');
           
    header('HTTP/1.0 401 Unauthorized');
         }
         else
         {
           return 
    true;
         }
       }
    }
    Type juggling может сыграть злую шутку:
    PHP:
    md5($_SERVER['PHP_AUTH_PW']) == $config['admin']['password']
    Следует заменить на:

    PHP:
    md5($_SERVER['PHP_AUTH_PW']) === $config['admin']['password']
     
    #6 crlf, 4 Mar 2017
    Last edited: 4 Mar 2017
    Gorev and winstrool like this.