Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Header - Sessioni (Versioni di Apache differenti)

    Cari amici di HTML.it

    mi trovo a sottoporvi questo interrogativo che mi sta facendo scervellare da 24h:

    uno script, su due spazi web diversi, entrambi con linux/apache,

    uno funziona correttamente: Vedi qui

    l'altro che mi restituisce l'errore Warning: Cannot modify header information - headers already sent by (output started at.... Vedi qui

    per provare basta cliccare su Accedi lasciando i campi vuoti.

    Secondo voi è un problema di configurazione apache?

    L'unica cosa che posso dirvi è che si tratta di due versioni diverse:

    la prima(ovvero la funzionante) Apache 4.4.7 vedi il phpinfo()

    la seconda 5.2.3 Vedi il phpinfo()

    Spero che qualcuno di voi possa darmi delucidazioni a riguardo.

    Grazie!!

  2. #2
    controlla i valori di error_reporting dei due phpinfo().

    poi vedi il manuale.... http://it2.php.net/manual/it/functio...-reporting.php

    in pratica l'errore c'e' in entrambi i casi ma in uno viene segnalato nell'altro no.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Concordo con Piero.
    Comunque se puoi postare il codice, possiamo aiutarti meglio.

  4. #4
    In 1 l'error reportin è 2039, nell'altro 6135.

    vi posto l'errore:

    Warning: Cannot modify header information - headers already sent by (output started at /home/images/public_html/index.php:13) in /home/images/public_html/data/login.php on line 35

    Warning: Cannot modify header information - headers already sent by (output started at /home/images/public_html/index.php:13) in /home/images/public_html/data/login.php on line 36
    Ciao pippo ... attendi il reindirizzamento
    e il contenuto dei due file che segnala

    index.php

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE></TITLE>
    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <LINK HREF="style.css" TYPE="text/css" REL="stylesheet">
    </HEAD>
    <BODY>
    <table  cellspacing="0" cellpadding="0" align="center">
      <tr>
        <td  style="width:766px; height:780px">
            <table  cellspacing="0" cellpadding="0">
              <tr>
                <td  style="width:42px; height:780px"></td>
                <td  style="width:676px; height:780px">
                    <table  cellspacing="0" cellpadding="0">
                      <tr>
                        <td  style="width:676px; height:119px; background-image: url(images/grey_bg.gif); background-repeat:no-repeat">
                            <table  cellspacing="0" cellpadding="0">
                              <tr>
                                <td  style="width:560px; height:119px">
                                    <br style="line-height:48px">
                                    [img]images/c_name.gif[/img]
                                </td>
                                <td  style="width:116px; height:119px">
                                    <br style="line-height:66px">
                                    [url="index.php?p=home"][img]images/link.gif[/img][/url][url="#"][img]images/link1.gif[/img][/url][url="#"][img]images/link2.gif[/img][/url] </td>
                              </tr>
                            </table>
                        </td>
                      </tr>
                       <tr>
                        <td  style="width:676px; height:563px">
                            <table  cellspacing="0" cellpadding="0">
                              <tr>
                                <td  style="width:226px; height:563px">
                                    [url="index.html"][img]images/back.gif[/img][/url][img]images/pic1_1.gif[/img]

                                    [img]images/pic1_2.gif[/img]

                                    [url="index-2.html"][img]images/comp.gif[/img][/url][url="index-3.html"][img]images/srv.gif[/img][/url]

                                    [url="index-4.html"][img]images/sol.gif[/img][/url][url="index-5.html"][img]images/cont.gif[/img][/url]
     </td>
                                <td  style="width:450px; height:563px; background-color:#F8F8F8; background-image:url(images/top.gif); background-repeat:no-repeat">

    <div id="davide">
    <?php 
    include("conf.php"); ?>
    </div>
                                </td>
                              </tr>
                            </table>
                                    
                        </td>    
                      </tr>
                       <tr>
                        <td  style="width:676px; height:98px" class="policy">
                        <br style="line-height:45px">
                        YourCompany.Com &copy; 2006 [img]images/img.gif[/img] [url="index-6.html"]Privacy Policy[/url]                    </td>
                      </tr>
                    </table>
                </td>
                <td  style="width:48px; height:780px"></td>
              </tr>
            </table>
        </td>
      </tr>
    </table>
    </BODY>
    </HTML>
    e login.php

    Codice PHP:
    <?php
    include_once("./inc/config.php");
    include_once(
    "./inc/auth.lib.php");
    list(
    $status$user) = auth_get_status();

    if(
    $status == AUTH_NOT_LOGGED){
        
    $uname strtolower(trim($_POST['uname']));
        
    $passw strtolower(trim($_POST['passw']));

        if(
    $uname == "" or $passw == ""){
            
    $status AUTH_INVALID_PARAMS;
        }else{
            list(
    $status$user) = auth_login($uname$passw);
            if(!
    is_null($user)){
                list(
    $status$uid) = auth_register_session($user);
            }
        }
    }

    switch(
    $status){
        case 
    AUTH_LOGGED:
            
    header("Refresh: 1;URL=./index.php?p=home");
            echo 
    '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';
        break;
        case 
    AUTH_INVALID_PARAMS:
            
    header("Refresh: 1;URL=./index.php?p=home");
            echo 
    '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';
        break;
        case 
    AUTH_LOGEDD_IN:
            switch(
    auth_get_option("TRANSICTION METHOD")){
                case 
    AUTH_USE_LINK:
                    
    header("Refresh: 1;URL=./index.php?p=home&uid=".$uid);
                break;
                case 
    AUTH_USE_COOKIE:
                    
    header("Refresh: 1;URL=./index.php?p=home");
                    
    setcookie('uid'$uidtime()+3600*365);
                break;
                case 
    AUTH_USE_SESSION:
                    
    header("Refresh: 1;URL=./index.php?p=home");
                    
    $_SESSION['uid'] = $uid;
                break;
            }
            echo 
    '<div align="center">Ciao '.$user['name'].' ... attendi il reindirizzamento</div>';
        break;
        case 
    AUTH_FAILED:
            
    header("Refresh: 1;URL=./index.php?p=home");
            echo 
    '<div align="center">Fallimento durante il tentativo di connessione ... attendi il reindirizzamento</div>';
        break;
    }
    ?>

  5. #5
    Codice PHP:
    <div id="davide">
    <?php
    include("conf.php"); ?>
    </div>
    controlla in conf.php come gestisci la variabile che passi nell'url

    header("Refresh: 1;URL=./index.php?p=home");

    oltre alla diversa configurazione della gestione errori in un caso hai configurato register_globals in ON (php 4.x) mentre nell'altra e' in OFF.

    quindi con reg glob = OFF la variabile sara' $_GET['p'] e non piu' $p

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    questo è il file conf.php

    Codice PHP:
    <?php
       
    switch ($_GET['p']) {
          
    //CONDIVISI
            
    case "login"$inc 'data/login.php'; break;
            case 
    "logout"$inc 'data/logout.php'; break;
            case 
    "home"$inc 'data/home.php'; break;

       
    //PANNELLO DI CONTROLLO UTENTE
            
    case "vw_user_files"$inc 'data/files.php'; break;
            case 
    "actions"$inc 'data/actions.php'; break;
            case 
    "ordini_utente"$inc 'data/ordini_utente.php'; break;
            case 
    "ins_ordini"$inc 'data/ins_ordini.php'; break;
            case 
    "vw_user_ordini"$inc 'data/ordini.php'; break;
           
    //PANNELLO DI CONTROLLO AMMINISTRATORE
            
    case "reg_utente"$inc 'data/reg_utente.php'; break;
            case 
    "vw_account_utente"$inc 'data/vw_account_utente.php'; break;
            case 
    "vw_ordini_all"$inc 'data/vw_ordini_all.php'; break;
            case 
    "registra_utente"$inc 'data/registra_utente.php'; break;
            case 
    "a_vw_files"$inc 'data/a_files.php'; break;
            case 
    "azioni"$inc 'data/azioni_account.php'; break;
            case 
    "a_nw_file"$inc 'data/nw_file.php'; break;
            case 
    "del_file"$inc 'data/del_file.php'; break;
            case 
    "vw_profilo"$inc 'data/vw_profilo.php'; break;
            case 
    "upd_profilo"$inc 'data/update_account.php'; break;


    ### Default ###      
            
    case "info"$inc 'data/info.php'; break; 
            case 
    "404"$inc 'data/404.htm'; break; 
           
           default: 
    $inc 'data/home.php'; break;
    }
       include (
    $inc);
       
    ?>
    Purtroppo non posso modificare il register_globals in ON perchè non è un mio server, viene gestito con cpanel e non sono l'amministratore.

    Esiste un'altra soluzione????

  7. #7
    Forse prima di usare un'istruzione dovresti leggere il manuale per capire come funziona:

    DAL MANUALE:


    header
    (PHP 4, PHP 5)

    header — Send a raw HTTP header

    Description
    void header ( string $string [, bool $replace [, int $http_response_code]] )

    header() is used to send a raw HTTP header. See the » HTTP/1.1 specification for more information on HTTP headers.

    Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

    <html>
    <?php
    /* This will give an error. Note the output
    * above, which is before the header() call */
    header('Location: http://www.example.com/');
    ?>




    ............................

  8. #8
    Cioè per usare header NON DEVI INVIARE NULLA IN OUTPUT ALLA PAGINA e invece tu hai tutto il codice della pagina index.php che mandi in output prima di giungere alla tua istruzione!

  9. #9
    dovresti seguire tutta la struttura degli script.

    scelta la variabile $_GET['p'] = home vai ad includere il file "data/home.php"

    ora devi seguire nel file data/home.php cosa si verifica.

    Viene gia' utilizzato $_GET e quindi non dovrebbero esserci problemi con register_globals in OFF

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Ma non capisco perchè lo stesso script su due spazi diversi in uno funziona e nell'altro no, è solo un problema di register_globals???

    Visto che non posso modificare il file php.ini , ci sono altre soluzioni?? o devo per forza acquistare un'altro spazio su Aruba dove tutto funziona correttamente????

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.