Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. nossa! Como é que pode-se usar uma linguagem dessas e dizer que presta? Apresentar erro apenas por que usa-se session_start() entre um codigo html . Um simples espaço em branco ja ferra com tudo. Eu tambem uso php e as vezes fico indignado com algumas limitações ridiculas, saudades do bom e velho asp que mata a pau isso tudo. Pelo menos no quisito simplicidade de programar, hoje em dia tempo é grana e ficar perdendo tempo com bobagens é ridiculo. Como dizem, se quer bem feito tem que pagar e não é a toa que o linux é gratis. Alguem pode me explicar por que esse erro aparece? Esta tudo certo, declarado uma vez, não tem include, esta no topo de tudo, ja verifiquei e reverifiquei mas o erro insiste em aparecer..

  2. PHP: session_start - Manual
    Este warning (E_NOTICE) aparece quando a sessão já está iniciada (já chamaram session_start antes do ponto atual no arquivo).

    Nos comentários existe um singleton que é uma encapsulação do $_SESSION, que deve resolver este seu warning.
    PHP: session_start - Manual
    Código php:
    <?php
     
    /*
        Use the static method getInstance to get the object.
    */
     
    class Session
    {
        const SESSION_STARTED = TRUE;
        const SESSION_NOT_STARTED = FALSE;
     
        // The state of the session
        private $sessionState = self::SESSION_NOT_STARTED;
     
        // THE only instance of the class
        private static $instance;
     
     
        private function __construct() {}
     
     
        /**
        *    Returns THE instance of 'Session'.
        *    The session is automatically initialized if it wasn't.
        *    
        *    @return    object
        **/
     
        public static function getInstance()
        {
            if ( !isset(self::$instance))
            {
                self::$instance = new self;
            }
     
            self::$instance->startSession();
     
            return self::$instance;
        }
     
     
        /**
        *    (Re)starts the session.
        *    
        *    @return    bool    TRUE if the session has been initialized, else FALSE.
        **/
     
        public function startSession()
        {
            if ( $this->sessionState == self::SESSION_NOT_STARTED )
            {
                $this->sessionState = session_start();
            }
     
            return $this->sessionState;
        }
     
     
        /**
        *    Stores datas in the session.
        *    Example: $instance->foo = 'bar';
        *    
        *    @param    name    Name of the datas.
        *    @param    value    Your datas.
        *    @return    void
        **/
     
        public function __set( $name , $value )
        {
            $_SESSION[$name] = $value;
        }
     
     
        /**
        *    Gets datas from the session.
        *    Example: echo $instance->foo;
        *    
        *    @param    name    Name of the datas to get.
        *    @return    mixed    Datas stored in session.
        **/
     
        public function __get( $name )
        {
            if ( isset($_SESSION[$name]))
            {
                return $_SESSION[$name];
            }
        }
     
     
        public function __isset( $name )
        {
            return isset($_SESSION[$name]);
        }
     
     
        public function __unset( $name )
        {
            unset( $_SESSION[$name] );
        }
     
     
        /**
        *    Destroys the current session.
        *    
        *    @return    bool    TRUE is session has been deleted, else FALSE.
        **/
     
        public function destroy()
        {
            if ( $this->sessionState == self::SESSION_STARTED )
            {
                $this->sessionState = !session_destroy();
                unset( $_SESSION );
     
                return !$this->sessionState;
            }
     
            return FALSE;
        }
    }
     
    /*
        Examples:
    */
     
    // We get the instance
    $data = Session::getInstance();
     
    // Let's store datas in the session
    $data->nickname = 'Someone';
    $data->age = 18;
     
    // Let's display datas
    printf( '<p>My name is %s and I\'m %d years old.</p>' , $data->nickname , $data->age );
     
    /*
        It will display:
     
        Array
        (
            [nickname] => Someone
            [age] => 18
        )
    */
     
    printf( '<pre>%s</pre>' , print_r( $_SESSION , TRUE ));
     
    // TRUE
    var_dump( isset( $data->nickname ));
     
    // We destroy the session
    $data->destroy();
     
    // FALSE
    var_dump( isset( $data->nickname ));
     
    ?>

    Só para constar, o software que roda este portal é feito em PHP, e roda em Linux. E nem por isso dá esses erros.

    ---
    EDIT: Poste a mensagem de erro completa, creio que você está é com outro problema: chamando session depois dos headers já foram mandados.
    Última edição por osmano807; 23-04-2011 às 10:55.



  3. Não saber programar é um erro, falar mal da linguagem é por que não se conhece sua documentação. A verdade que cada pessoa programa na linguagem que mais gosta, mas nem todos tem saco de ler a documentação. Aposto que a maioria quando é solicitado para desenvolver um software, ou site já vai ligando o compilador e digitando. Nada de modelar antes, ou desenvolver as fases e testar cada parte, e o principal documentar.

  4. Citação Postado originalmente por biohazzard Ver Post
    Não saber programar é um erro, falar mal da linguagem é por que não se conhece sua documentação. A verdade que cada pessoa programa na linguagem que mais gosta, mas nem todos tem saco de ler a documentação. Aposto que a maioria quando é solicitado para desenvolver um software, ou site já vai ligando o compilador e digitando. Nada de modelar antes, ou desenvolver as fases e testar cada parte, e o principal documentar.
    Falou a mais pura verdade, muitos nem conhecem direito sobre logica, pegam receita de bolo na internet usam CTRL+C.



  5. Troca para uma linguagem que vc saiba o que esta fazendo e goste do que faz. Nao existe a linguagem perfeita, existem desenvolvedores que sabem qual liguagem sera melhor para projeto X ou Y.






Tópicos Similares

  1. Postfix + MySQL com erro "BAD UID"
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 05-03-2003, 23:56
  2. Script com erro Por favor alguem me ajude
    Por edilson no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 12-01-2003, 23:09
  3. XFree com ERRO - Parte 2
    Por PiTsA no fórum Servidores de Rede
    Respostas: 15
    Último Post: 17-12-2002, 15:04
  4. X com ERRO
    Por no fórum Servidores de Rede
    Respostas: 6
    Último Post: 17-12-2002, 13:00
  5. SARG com erro ao carregar
    Por calthc no fórum Servidores de Rede
    Respostas: 2
    Último Post: 11-12-2002, 15:11

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L