• ModSenior

    L'errore è dovuto al fatto che invii del testo prima di inviare l'header, o fai in modo che ciò non avvenga o inserisci all'inizio del file ob_start("ob_gzhandler"); per abilitare la compressione dell'output e il problema si elimina.


  • Bannato Super User

    Ho aggiunto ob_start("ob_gzhandler"); all'inizio del files ma errore continua ad esserci allo stesso identico modo

    Sono giorni che cerco una soluzione al problema senza trovarla purtroppo.


  • ModSenior

    Può esserci uno spazio prima del tag di apertura php, sopratutto se utilizzi windows quando programmi è possibile che sia presente qualche carattere invisibile, e questa è l'unico motivo possibile se hai inserito quella funzione all'inizio.


  • Bannato Super User

    Errore appare da quando è stato aggiunta questa parte di codice dunque non credo che sia dovuto a spazi vari nella pagina

    
     
    <script type=\"text/javascript\">
    function CoRegistrazioni() {
        var radios = $(\"#dropzone_coregs_leadium input:radio\");
        var i;
        for (i = 0; i < radios.length; i++) {
            if (radios*.id.toLowerCase().match(\"oui\"+\"$\") == \"oui\") {
                if (!radios*.checked) {
                    alert(\"Per completare la registrazione clicca SI in tutti i banner che vedi alla tua sinistra, sono tutti gratuiti\");
                    return false;
                }
            }
        }
    }
    </script>
    <form name=\"acash\" action=\"index.php?view=join&action=join&".$url_variables."\" method=\"post\" onSubmit=\"return CoRegistrazioni()\">
     
     
     
    
    

  • ModSenior

    Allora dopo all'apertura del codice metti:
    [php]
    <?php
    ob_start("ob_gzhandler");
    header('Location: /');
    exit;
    [/php]E vediamo che succede.


  • Bannato Super User

    Il problema sta in questa riga ma non so come risolverlo, è proprio da qui che partono tutti gli errori

    
     
    <form name=\"acash\" action=\"index.php?view=join&action=join&".$url_variables."\" method=\"post\" onSubmit=\"return CoRegistrazioni()\">
    
    
    

  • ModSenior

    ma la funzione ob_start l'hai messa come ti ho indicato affinchè sia la prima cosa che esegua, prima di qualsiasi altro codice php, html, ecc?


  • Bannato Super User

    Spiegami esattamente dove inserirla perche sara la centesima soluzione che provo (da 3 forum) senza trovare purtroppo una soluzione.

    Lo script piu volte richiama header in varie parti del codice


  • ModSenior

    Allora invece di ascoltare soluzioni casuali, ascolta me devi inserire ob_start affinchè sia la prima cosa che venga eseguita, se l'utente richiama un file index.php che include poi vari file la funzione devi metterla in index.php.


  • Bannato Super User

    Ho aggiunto il codice da te indicato all'inizio e mi restituisce immediatamente un errore simile

    
     
    <?php
    ob_start("ob_gzhandler");
    header('Location: /');
    exit; 
    //**S**//
    function edit_upline($x, $ref) {
     global $form_username, $Db1;
     if($x <= 5) {
     
    
    

    errore mostrato
    Warning: Cannot modify header information - headers already sent by (output started at /home/italsat/public_html/*****.net/members/join.php:1) in /home//public_html/.net/members/join.php on line 3


  • Bannato Super User

    la pagina index contiene pochissimi dati, lo script è complesso sotto vedi il contenuto della pagina index

    
    <?
    header("Location: ../index.php");
    ?>
     
    
    

  • ModSenior

    Come puoi vedere indica che alla riga 1 viene inviato un output, questa è la dimostrazione di come dall'inizio ti ho indicato qual'è il tuo problema, i casi sono 2:

    • Hai uno spazio, un invio prima di <?php, e si nota facilmente
    • Hai un carattere invisibile prima di <?php, se crei un file nuovo e non copi la prima parte del file, ma la riscrivi probabilmente risolvi.

  • Bannato Super User

    Per il momento di ringrazio anche se non ho risolto, ho gia effettuato centinaia di tentativi con decine di programmatori anche di altri 2 noti forum senza trovare soluzione.

    Penso che lo script sia troppo complicato e pure pasticciato e non si riesce a capire il problema.

    Sei stato molto gentile spero nei prossimi giorni di avere altre risposte per poter risolvere in maniera definitiva questo problema.

    Buona notte


  • ModSenior

    Il problema veramente si capisce e te l'ho già indicato qual'è, ma se non fai le cose che ti dico io, e continui a mischiare i suggerimenti di vari forum non ne verrai mai fuori.


  • Bannato Super User

    Purtroppo le soluzioni finora proposte non risolvono il problema

    Spero che qualcun'altro riesca a trovare una soluzione al problema

    Vi ringrazio per i consigli

    Saluti


  • Bannato Super User

    Il problema reale è che nessuno riesce a capire l'errore, ho abbastanza esperienza nei forum e ti assicuro che 1 su 1000 riesce a capire questi codici complessi (gia la prima volta per una modifica a questo script che ho regolarmente pagato ho dovuto cambiare 10 programmatori e software house che in teoria dicevano che avrebbero sistemato il tutto ma poi in pratica c'erano difetti) pensa te quanto sono complessi questi cms.

    Chiaramente non è colpa di nessuno è lo script che è pasticciato e per capirci qualcosa si esce pazzi.

    @Thedarkita said:

    Il problema veramente si capisce e te l'ho già indicato qual'è, ma se non fai le cose che ti dico io, e continui a mischiare i suggerimenti di vari forum non ne verrai mai fuori.


  • ModSenior

    Il problema non è il codice, te l'ho scritto almeno 5 volte qual'è il problema, se leggi l'errore te ne rendi conto anche tu, come può uno script dare errore alla riga 1 se la non c'è niente li? Il problema è che sei convinto che l'errore deve essere in quelle 4 righe di codice che hai modificato, che non vuoi sentire un parere nettamente diverso, che ti porterebbe al 100% alla soluzione.
    Quando invece di sentire 1000 pareri contrastanti tra di loro inizierai a seguirne uno solo alla volta, e ti deciderai a ricopiare il file a mano su uno nuovo ti renderai conto che magicamente tutto inizierà a funzionare perchè il codice, incasinato per quanto mai, non può dare quell'errore.
    TI dò il link di un'altra discussione con il tuo stesso problema, dove cambiando codifica del file si risolve magicamente il problema:
    http://www.phpbuilder.com/board/showthread.php?t=10377244

    Poi sei libero di continuare a non ascoltarmi e cercare altri problemi, che per ovvi motivi non troverai.


  • Bannato Super User

    Errore appare SOLAMENTE se viene mantenuto il codice aggiunto dunque è logico che è un problema di incompatibilità del codice aggiunto per il controllo di alcuni box

    con questo controllo la pagina da errore
    [PHP]
    <script type="text/javascript">

    function CoRegistrazioni() {
    var radios = $("#dropzone_coregs_leadium input:radio");
    var i;
    for (i = 0; i < radios.length; i++) {
    if (radios*.id.toLowerCase().match("oui"+"$") == "oui") {
    if (!radios*.checked) {
    alert("Per completare la registrazione clicca SI in tutti i banner che vedi alla tua sinistra, sono tutti gratuiti");
    return false;
    }
    }
    }
    }
    </script>

    <form name="acash" action="index.php?view=join&action=join&".$url_variables."" method="post" onSubmit="return CoRegistrazioni()">

    [/PHP]

    Senza questo controllo (aggiunto da un programmatore) la pagina non da nessun errore e tutto funziona perfettamente come nel cms originale

    Dunque è ovvio che il problema sta nel codice aggiunto e non in altri ipotetici errori dato che senza questo codice aggiunto il problema non esiste e tutto funziona perfettamente.


  • ModSenior

    Con l'istruzione exit che ti ho fatto mettere io tutto il resto del file viene ignorato, significa che tu hai solo 3 righe di codice e ti dà errore!
    Il resto del file non cambia nulla assolutamente in fase di esecuzione.


  • User

    Ciao, devi fare come dice Thedarkita, ci sonopure altri metodi per levare quei bit che non si vedono! prova a cambiare la cifratura del file quando lo salvi. Ciao