Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. errore sessione
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      talkoman User Attivo • 12 dic 2007, 14:24 ultima modifica di

      errore sessione

      Ciao a tutti, finalmente ho acquistato il dominio e ho caricato tutto sul server.
      Però mi da quest'errore quando apro una qualsiasi pagina:

      [PHP]Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u14d2c2z/domains/tapsosnuoto.it/public_html/admin/head.inc.php:21) in /home/u14d2c2z/domains/tapsosnuoto.it/public_html/admin/config.php on line 2
      [/PHP]

      e la linea 2 di config.php è questa:
      [PHP]
      session_start();
      [/PHP]

      ke faccio?
      Ciau

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • S
        senamion User Attivo • 12 dic 2007, 16:07 ultima modifica di

        Non ci deve essere nessun output prima di session_start()
        Controlla che prima dell'apertura del php (<?php) non ci siano righe, anche vuote.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          talkoman User Attivo • 12 dic 2007, 18:53 ultima modifica di

          non ce ne sono...questo contiene quella pagina:

          [PHP]
          <?php
          session_start();
          $connection = mysql_connect( 'host', 'nome_utente', 'password') or die('Could not connect to server.' );
          mysql_select_db('nome_database', $connection) or die('Could not select database.');
          ?>
          [/PHP]

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • samyorn
            samyorn Consiglio Direttivo • 12 dic 2007, 20:25 ultima modifica di

            ma a che ti serve il session_start(); nel config.php??

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              talkoman User Attivo • 12 dic 2007, 20:27 ultima modifica di

              dove dovrei metterlo?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • samyorn
                samyorn Consiglio Direttivo • 12 dic 2007, 20:44 ultima modifica di

                se il tuo config.php è proprio quello di sopra la sessione in quella pagina non ti serve proprio....almeno mi pare.....non ne vedo l'utilità 😉

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  talkoman User Attivo • 12 dic 2007, 20:46 ultima modifica di

                  siccome viene richiamato anche da una pagina ke fa il login....
                  che mi consigli?
                  lo metto nella pagina del login?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • samyorn
                    samyorn Consiglio Direttivo • 12 dic 2007, 21:03 ultima modifica di

                    @talkoman said:

                    siccome viene richiamato anche da una pagina ke fa il login....
                    che mi consigli?
                    lo metto nella pagina del login?
                    ovvio che si XD

                    ma oltre al session_start, nella pagina di login devi definire anche cosa dovrà portarsi appresso la sessione, ovvero rob del tipo:

                    [php]
                    //** tiri fuori i dati dal Db che ti includi in un array e quindi fai partire la sessione. Consigliabile unsettarla e distruggerla, per poi riaprirla */
                    session_start();
                    session_unset();
                    session_destroy();
                    session_start();
                    $_SESSION["id_user"]=$array["id_user"];
                    $_SESSION["nick"]=$array["nick"];
                    $_SESSION["email"]=$array["email"];
                    .......
                    ......
                    ....
                    [/php]
                    da quì in poi ti potrai richiamare i dati di sessione mettendo ad inizio pagina, immediatamente dopo il <? (e prima NON deve esserci nulla):
                    [php]session_start();
                    $nick=$_SESSION['nick'];
                    ....
                    ..
                    ..[/php]

                    😉

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      talkoman User Attivo • 12 dic 2007, 21:10 ultima modifica di

                      io ce l'ho così:
                      [PHP]
                      //Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
                      $query = mysql_query("SELECT user_username FROM admin_users WHERE user_username = '".$_POST['usrname']."' AND user_passwd = '".md5($_POST['password'])."'");
                      $var=mysql_num_rows($query);
                      //se esiste l'account registra la sessione
                      if($var==1)
                      {
                      //metto l'username nella variabile di sessione "username"
                      $_SESSION['username'] = $_POST['usrname'];
                      //Faccio il redirect nella pagine enter.php
                      echo "<script>
                      window.location = "index.php"
                      </script>";
                      }
                      [/PHP]

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • samyorn
                        samyorn Consiglio Direttivo • 12 dic 2007, 21:21 ultima modifica di

                        [php]
                        //Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
                        $query = mysql_query("SELECT user_username FROM admin_users WHERE user_username = '".$_POST['usrname']."' AND user_passwd = '".md5($_POST['password'])."'");
                        $var=mysql_num_rows($query);
                        //se esiste l'account registra la sessione
                        if($var==1)
                        {
                        session_start();
                        session_unset();
                        session_destroy();
                        session_start();
                        //metto l'username nella variabile di sessione "username"
                        $_SESSION['username'] = $_POST['usrname'];
                        //Faccio il redirect nella pagine enter.php
                        echo "<script>
                        window.location = "index.php"
                        </script>";
                        }
                        [/php]

                        devi aprire la sessione prima di assegnare il valore 😉

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          talkoman User Attivo • 12 dic 2007, 21:32 ultima modifica di

                          [PHP]<?php
                          //includo il file di Configurazione con session_start()) dentro
                          include ("config.php");
                          //Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
                          $query = mysql_query("SELECT user_username FROM admin_users WHERE user_username = '".$_POST['usrname']."' AND user_passwd = '".md5($_POST['password'])."'");
                          $var=mysql_num_rows($query);
                          //se esiste l'account registra la sessione
                          if($var==1){
                          session_start();
                          session_unset();
                          session_destroy();
                          session_start();
                          //metto l'username nella variabile di sessione "username"
                          $_SESSION['username'] = $_POST['usrname'];
                          //Faccio il redirect nella pagine enter.php
                          echo "<script>
                          window.location = "index.php"
                          </script>";
                          }
                          else
                          {
                          //Faccio il redirect nella pagine enter.php
                          echo "<script>
                          window.location = "login.php"
                          </script>";
                          }
                          ?>[/PHP]

                          non mi effettua il login...mi torna sulla pagina login.php

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • samyorn
                            samyorn Consiglio Direttivo • 12 dic 2007, 21:36 ultima modifica di

                            @talkoman said:

                            non mi effettua il login...mi torna sulla pagina login.php

                            per come è il codice significa che if($var==1)restituisce FALSE.....

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • T
                              talkoman User Attivo • 12 dic 2007, 22:00 ultima modifica di

                              allora è strutturato così
                              pagina: login.php

                              [PHP]<form action="verifica.php" method="post" enctype="application/x-www-form-urlencoded" name="login">
                              <br/>
                              <table border="0">
                              <tr>
                              <td><div align="right">UserName</div></td>
                              <td><input type="text" name="usrname"></td>
                              </tr>
                              <tr>
                              <td><div align="right">Password</div></td>
                              <td><input type="password" name="password"></td>
                              </tr>
                              </table>
                              <input type="submit" value="Entra!" name="post"></form>[/PHP]

                              verifica ke è quella di sopra....

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • samyorn
                                samyorn Consiglio Direttivo • 12 dic 2007, 22:11 ultima modifica di

                                [PHP]include ("config.php");

                                $username=$_POST['usrname'];
                                $psw=$_POST['password'];
                                $pswmd5=md5($psw);
                                $sql= "SELECT user_username FROM admin_users WHERE user_username='".$username."' AND user_passwd='".$pswmd5."'";

                                $query = mysql_query($sql) or die (mysql_error());
                                $var=mysql_num_rows($query);
                                .....
                                [/PHP]

                                prova così, eventualmente fatti un echo di $var per vedere che tira fuori 😉

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • T
                                  talkoman User Attivo • 12 dic 2007, 22:12 ultima modifica di

                                  allora ho fatto delle prove ho fatto così la pag verifica.php:
                                  [PHP]if($var==1){
                                  session_start();
                                  session_unset();
                                  session_destroy();
                                  session_start();
                                  //metto l'username nella variabile di sessione "username"
                                  $_SESSION['username'] = $_POST['usrname'];
                                  //Faccio il redirect nella pagine enter.php
                                  echo "SI";
                                  /echo "<script>
                                  window.location = "index.php"
                                  </script>";
                                  /
                                  }
                                  else
                                  {
                                  //Faccio il redirect nella pagine enter.php
                                  echo "NO";
                                  /echo "<script>
                                  window.location = "login.php"
                                  </script>";
                                  /
                                  }[/PHP]
                                  e mi stampa si, quindi si redirecta su index.php
                                  ma index.php è così:
                                  [PHP]<?php
                                  include ("head.inc.php");
                                  include ("foot.inc.php");
                                  //includo il file di Configurazione con session_start()) dentro
                                  include ("config.php");
                                  //se esiste la variabile $_SESSION['username'] è loggato
                                  if(!isset($_SESSION['username'])){
                                  echo "<script>
                                  window.location = "login.php"
                                  </script>";
                                  }
                                  ?>[/PHP]
                                  quindi può essere ke non si prende il session e ritorna su login....
                                  come faccio??

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • samyorn
                                    samyorn Consiglio Direttivo • 12 dic 2007, 22:18 ultima modifica di

                                    [php]
                                    if(!isset($_SESSION['username'])){
                                    echo "<script>
                                    window.location = "login.php"
                                    </script>";
                                    }
                                    [/php]

                                    normale che non ti funge XD
                                    prima di richiamare una variabile di sessione devi aprire la sessione XD

                                    [php]session_start();
                                    if(!isset($_SESSION['username'])){
                                    echo "<script>
                                    window.location = "login.php"
                                    </script>";
                                    }
                                    [/php]

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • T
                                      talkoman User Attivo • 12 dic 2007, 22:20 ultima modifica di

                                      per questo era nel config.php....

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • T
                                        talkoman User Attivo • 12 dic 2007, 22:22 ultima modifica di

                                        comunque mi da lo stesso problema originario:

                                        [PHP]Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u14d2c2z/domains/tapsosnuoto.it/public_html/admin/head.inc.php:21) in /home/u14d2c2z/domains/tapsosnuoto.it/public_html/admin/index.php on line 7[/PHP]

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • samyorn
                                          samyorn Consiglio Direttivo • 12 dic 2007, 22:25 ultima modifica di

                                          session_start() va messo subito dopo <?, e prima che esca il session_start() del config.php hai già l'header ed il footer, ovvero, la stringa di prima la devi mettere prima dell'header e del footer.....mi pare che era già scritto...o sbaglio?

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • T
                                            talkoman User Attivo • 12 dic 2007, 22:27 ultima modifica di

                                            grazie funziona!!....devo semplicemente sistemarlo in tutte le pagine:D

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti