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. Warning: Cannot modify header information
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • S
      shira User • 26 ott 2006, 16:14 ultima modifica di

      Warning: Cannot modify header information

      ciao a tutti,
      accantonando l'idea dei cookies e passando alle sessioni...ho avuto qualche problemino con l'header per rinviare, non appena loggati correttamente alla pagina index.php.
      infatti il seguente codice mi restituisce:
      Warning: Cannot modify header information - headers already sent by (output started at /home/bello/public_html/sessioni/log-in.php:21) in /home/bello/public_html/sessioni/log-in.php on line 26

      sapreste dirmi qual'è il problema?? vi do la parte di codice in questione....

      if ($_SESSION['verified_user'] != "") {
      header("location:index.php"); <----RIGO 26-----
      } else {
      if ($_REQUEST['action'] == "login" && $_SESSION['verified_user'] == '') {
      echo"<font color="red">Login error!</font><br><br>";
      }

      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
         

      • N
        nenella User • 26 ott 2006, 17:24 ultima modifica di

        Dovresti inserire anche la parte di codice che precedere la funzione header.
        Solitamente accade quando a video è stato visualizzato qualcosa.
        Hai fatto prima qualche echo?

        Nené

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • R
          ramon User • 26 ott 2006, 17:27 ultima modifica di

          ciao!

          <? session start(); ?>
          deve essere la primissima cosa che c'è nel codice all'inizio della pagina
          anche uno spazio può farti incappare i quel problema.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            shira User • 26 ott 2006, 18:05 ultima modifica di

            questo è quello che ho all'inizio della pagina...
            <?php
            session_start();
            dbconnect();

            if ($_REQUEST['action'] == "login") {
            $_SESSION['verified_user'] = "";
            $result = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['username']."' AND password='".$_REQUEST['psw']."'");
            if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
            }

            ?>

            e alla fine i dati di conn

            <?php
            }
            function dbconnect() {
            mysql_connect("localhost", "user", "pass");
            @mysql_select_db("nomedb") or die ("Unable to select database");
            }
            ?>

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • R
              ramon User • 26 ott 2006, 20:14 ultima modifica di

              @shira said:

              questo è quello che ho all'inizio della pagina...
              <?php
              session_start();
              dbconnect();

              if ($_REQUEST['action'] == "login") {
              $_SESSION['verified_user'] = "";
              $result = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['username']."' AND password='".$_REQUEST['psw']."'");
              if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
              }

              ?>

              e alla fine i dati di conn

              <?php
              }
              function dbconnect() {
              mysql_connect("localhost", "user", "pass");
              @mysql_select_db("nomedb") or die ("Unable to select database");
              }
              ?>

              hai un parentesi di troppo, a parte questo non mi dà errore!

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • N
                nenella User • 27 ott 2006, 07:35 ultima modifica di

                @ramon said:

                hai un parentesi di troppo, a parte questo non mi dà errore!

                Se monti tutto il codice che ti ha dato, la parentesi non è di troppo.
                L'unica cosa che potrebbe stampare qualcosa a video è dbconnect(); che ha un "or die". Prova a togliere la chiocciolina davanti a mysql_select_db, e magari dovresti vedere nell'html sorgente generato dalla pagina se c'è anche solo uno spazio prima dell'errore. Casomai postaci il link.

                Nené

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • S
                  senamion User Attivo • 27 ott 2006, 09:10 ultima modifica di

                  Il problema è che non puoi usare session_start e poi header.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • S
                    shira User • 27 ott 2006, 09:33 ultima modifica di

                    finalmente un forum dove non si viene abbandonati a se stessi!!
                    grazie!!
                    ritornando al problema....penso che la soluzione di senamion sia giusta, infatti togliendo l'header e mettendo questo redirect

                    <meta http-equiv="refresh" content="1;url=pa3.php">

                    vengo reindirizzato dopo il login a questa pagina, ma non a quella dell'id_utente corrispondente alla USER.
                    Ho provato ad inserire dopo il .php questo codice

                    ?id_utente=<?=$rigo['id_utente']?> ma non va!!

                    soluzioni?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • N
                      nenella User • 27 ott 2006, 09:44 ultima modifica di

                      @shira said:

                      ?id_utente=<?=$rigo['id_utente']?>

                      Manca un ; dopo ] ...
                      Sarà questo? :mmm:

                      Nené

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • S
                        senamion User Attivo • 27 ott 2006, 10:46 ultima modifica di

                        Devi mettere un valore devi fare un echo in php, in pratica devi fare così:

                        ?id_utente=<? echo $rigo['id_utente']; ?>
                        
                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • massy
                          massy Moderatore • 27 ott 2006, 12:16 ultima modifica di

                          Il problema è che non puoi usare session_start e poi header.
                          E perché mai?

                          Puoi, stando attento a non far stampare nulla in mezzo.
                          O senza troppe rotture usando le gz_* 🙂

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • S
                            senamion User Attivo • 27 ott 2006, 12:44 ultima modifica di

                            In realtà ho semplificato, ma se guardi i commenti della funzione header php (http://it2.php.net/manual/it/function.header.php) scopri che può avere problemi con la cache. Se si vuole usare session_start() e header() bisogna fare attenzione.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • S
                              shira User • 27 ott 2006, 16:04 ultima modifica di

                              sto impazzendo!!!
                              premesso che ho deciso di non utilizzare il metodo header, ma METa....
                              compongo il codice che vi ho descritto:

                              if ($_SESSION['verified_user'] != "") {
                              echo "<meta http-equiv="refresh" content="1;url=pa3.php?id_utente=">";

                              adesso...mi porta alla pagina pa3.php?id_utente= correttamente.

                              ovviamente ho inserito il codice di seniamon dopo l'uguale

                              <? echo $rigo['id_utente']; ?>

                              ma la linea mi da errore!!!

                              io il rigo lo richiamo con

                              if ($_REQUEST['action'] == "login") {
                              $_SESSION['verified_user'] = "";
                              $result = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['username']."' AND password='".$_REQUEST['psw']."'");

                              $rigo=mysql_fetch_array($result);

                              if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
                              }

                              MA SARA' GIUSTO???

                              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