Risultati da 1 a 10 di 10

Discussione: Warning su redirect della pagina

  1. #1
    L'avatar di neo996sps
    neo996sps è offline Utente del Forum
    Data Registrazione
    May 2007
    Località
    Trentino
    Messaggi
    203

    Warning su redirect della pagina

    Ciao a tutti,

    ho un problema piuttosto fastidioso sul redirect ad una pagina dopo l'esecuzione di un insert MySQL/PHP. Questo è lo script incriminato:

    Codice PHP:
    <?php
    mysql_query 
    ("INSERT INTO utenti_accesso (id, id_utenti_profilo, user, password, nominativo, flag_stato)
                    VALUES ('NULL', '"
    .$_POST["profilo"]."', '".$_POST["user"]."',SHA1('".$_POST["password"]."'),
                            '"
    .$_POST["nome"]."', '0')");
    header("LOCATION: ./administrator.php?function=utenti");
    ?>
    come noterete una volta eseguita la query deve fare il redirect su administrator.php richiamando la variabile function=utenti. Nella pagina administrator ho questa porzione di codice:

    Codice PHP:
    <?php 
                
    switch ($_GET["function"]) 
                {
                  case 
    'utenti':
                    require(
    "./script/utenti/elenco.php");
                  break;
                  
                  case 
    'adduser':
                    require(
    "./script/utenti/add.php");
                  break;
                  
                  case 
    'saveuser':
                    require(
    "./script/utenti/save.php");
                  break;                          
                }
               
    ?>
    che mi dovrebbe fare il require di elenco.php. Purtroppo però il codice in oggetto mi da questo errore:

    Codice:
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/CinteTesino/admin/administrator.php:13) in /var/www/CinteTesino/admin/script/utenti/save.php on line 5
    Chi mi sa spiegare come risolvere il problema?
    <a href="http://it.dreamstime.com/resp2473183-free-photos" ><img src= "http://it.dreamstime.com/refbanner-orange-u-2473183.gif" border="0" width="88" height="31"></a>

  2. #2
    L'avatar di borgo italia
    borgo italia è offline Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,225
    ciao
    c'è dell'output html prima di header (guarda che potrebbe essere anche un semplice spazio messo prima del tag php).
    puo provare a risolvere aggiungendo

    Codice PHP:
    <?php
    ob_start
    ();//alla prima riga della pagina
    //...................
    mysql_query ("INSERT INTO utenti_accesso (id, id_utenti_profilo, user, password, nominativo, flag_stato)
                    VALUES ('NULL', '"
    .$_POST["profilo"]."', '".$_POST["user"]."',SHA1('".$_POST["password"]."'),
                            '"
    .$_POST["nome"]."', '0')");
    header("LOCATION: ./administrator.php?function=utenti");
    exit(); 
    //metti l'exit dopo i redirect
    //................
    ob_end_flush();//all'ultima
    ?>

  3. #3
    L'avatar di neo996sps
    neo996sps è offline Utente del Forum
    Data Registrazione
    May 2007
    Località
    Trentino
    Messaggi
    203
    Ciao e grazie per la risposta. Purtroppo il warning rimane anche dopo la tua modifica. Adesso lo script è così:

    Codice PHP:
    <?php
    ob_start
    ();
    mysql_query ("INSERT INTO utenti_accesso (id, id_utenti_profilo, user, password, nominativo, flag_stato)
                    VALUES ('NULL', '"
    .$_POST["profilo"]."', '".$_POST["user"]."',SHA1('".$_POST["password"]."'),
                            '"
    .$_POST["nome"]."', '0')");
    header("LOCATION: ./administrator.php?function=utenti");
    exit();
    ob_end_flush();
    ?>
    cos'altro posso provare?
    <a href="http://it.dreamstime.com/resp2473183-free-photos" ><img src= "http://it.dreamstime.com/refbanner-orange-u-2473183.gif" border="0" width="88" height="31"></a>

  4. #4
    Nefyt è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    992
    Non mi torna, come ti ha detto borgo la cosa piu probabile è che ci sia dell'output prima, posta il codice completo

  5. #5
    L'avatar di borgo italia
    borgo italia è offline Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,225
    ciao
    strano dovrebbe funziare, l'ob_start modifica il flusso.
    se proprio non funzia, non è molto elegante e si vede con visualizza sorgente se uno fa in tempo a bloccare la pagina, ma potresti ricorre al tag meta
    Codice PHP:
    <?php
    mysql_query 
    ("INSERT INTO utenti_accesso (id, id_utenti_profilo, user, password, nominativo, flag_stato)
                    VALUES ('NULL', '"
    .$_POST["profilo"]."', '".$_POST["user"]."',SHA1('".$_POST["password"]."'),
                            '"
    .$_POST["nome"]."', '0')");
    echo 
    "<meta http-equiv='Refresh' content='0; URL=./administrator.php?function=utenti'>";
    exit();
    ?>

  6. #6
    L'avatar di borgo italia
    borgo italia è offline Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,225
    ciao
    Citazione Originariamente Scritto da Nefyt Visualizza Messaggio
    Non mi torna, come ti ha detto borgo la cosa piu probabile è che ci sia dell'output prima, posta il codice completo
    ma con l'ob_start dovrebbe funziare (ho degli script in cui lo uso e dove ho proprio del vero html) es.
    Codice PHP:
    <?php
    ob_start
    ();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    </head>
    <body>
    <!-- eccetera eccetera.... -->
    <?php
    //.....
    header("LOCATION: pinco_pallo.php");
    exit();
    ?>
    </body>
    </html>
    <?php
    ob_end_flush
    (); 
    ?>

  7. #7
    Nefyt è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    992
    Citazione Originariamente Scritto da borgo italia Visualizza Messaggio
    ciaoma con l'ob_start dovrebbe funziare (ho degli script in cui lo uso e dove ho proprio del vero html) es.
    Codice PHP:
    <?php
    ob_start
    ();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    </head>
    <body>
    <!-- eccetera eccetera.... -->
    <?php
    //.....
    header("LOCATION: pinco_pallo.php");
    exit();
    ?>
    </body>
    </html>
    <?php
    ob_end_flush
    (); 
    ?>
    Potrebbe esserci dell'output prima essendo inclusa la pagina

  8. #8
    L'avatar di neo996sps
    neo996sps è offline Utente del Forum
    Data Registrazione
    May 2007
    Località
    Trentino
    Messaggi
    203
    Non ho capito perchè, però dopo qualche minuto si è messo a funzionare.... misteri del PHP. Grazie a tutti!
    <a href="http://it.dreamstime.com/resp2473183-free-photos" ><img src= "http://it.dreamstime.com/refbanner-orange-u-2473183.gif" border="0" width="88" height="31"></a>

  9. #9
    L'avatar di borgo italia
    borgo italia è offline Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,225
    ciao
    avevi vuotato la cache?
    poi informa come hai risolto
    tanks

  10. #10
    L'avatar di neo996sps
    neo996sps è offline Utente del Forum
    Data Registrazione
    May 2007
    Località
    Trentino
    Messaggi
    203
    dopo aver aggiunto

    Codice PHP:
    ob_start(); 
    e


    Codice PHP:
    ob_end_flush(); 
    ho semplicemente svuotato la cache e si è messo ad andare. Secondo me nei vari esperimenti mi è rimasto dentro qualcosa che dava fastidio... cosa non si sa
    <a href="http://it.dreamstime.com/resp2473183-free-photos" ><img src= "http://it.dreamstime.com/refbanner-orange-u-2473183.gif" border="0" width="88" height="31"></a>

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •