Alkuperäinen posti, osaiskohan täällä joku antaa neuvoja tuohon?
Oikea vastaus on, että olet tulostanut jo jotain ennen headereiden lähettämistä, joten niitä ei enää voi lähettää. Toisella palvelimella on käytössä bufferointi, joten headerit voidaan lähettää vielä senkin jälkeen, kun tulostetta on jo jonossa. Hyvin yleinen aloittelijan virhe on se, että <?php-tagin eteen jättää rivinvaihdon.
Laitahan kehitysympäristöösi virheraportointi päälle. Ihan tolkutonta yrittää koodata, jos tekemistään virheistä ei saa mitään palautetta. Olisi tämäkin ratkennut jo ennen kuin kerkesit edes ihmetellä sitä.
Enpä oikein usko, että olisi tulostettu mitään. Joku näkymätön merkki jos on ni sitten ehkä. Kuinkas tuon bufferi homman voi tarkistaa servereiltä, jotta varmistuis sekin onko semmosia?
EDIT: noista errorien näytöstä niin onko jotain näiden lisäksi vielä mistä en ole tietoinen?
error_reporting(E_ALL); ini_set('display_errors', 1);
EDIT2: ja dev servuun en pääse käsiksi ja henkilö, joka pääsee ei ole paikalla tänään.
Eipä mennä perse edellä puuhun. Ensin laitat sen virheraportoinnin päälle laittamalla seuraavan koodirivin skriptin "juuritiedoston" (eli sen, joka on mainittu selaimen osoitekentässä) alkuun seuraavan rivin:
error_reporting(E_ALL | E_STRICT);
Siellä on ihan alussa nyt näin, lisäsinn tuon E_STRICTIN aikasemmasta poiketen
<?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1);
Sama homma.. tulee tyhjä sivu kuvan poiston jälkeen.
Sittenpä ei tule oikein muutakaan mieleen kuin että vastaanottava sivu tekee jotain väärin ja näyttää tyhjää.
Sehän tässä onkin kun ei mitään virhettä tule ja koodin puolestakaan ei pitäs olla mitään vikaa. Ja kaiken kukkuraksi se toimii vielä toisella serverillä.
Oletko vertaillut oman serverin ja dev-serverin selaimelle lähettämää dataa? Jos et, niin vertailu onnistuu kätevästi vaikka Operan Dragonflyllä.
Eikös firebug aja saman asian kuin tuo dragonfly? Ja mihinkäs dataan tuolla pitäisi kiinnittää huomiota? Näyttää aika samalta mitä nyt tuossa oon tutkaillut.
Tutkipa ensin perinteisellä echo- tai die-debuggauksella, mihin asti koodissa päästään. Tarkista myös palvelimen virheloki.
Jooh, kosahtaa tuohon header kohtaan. Odoteltava maanantaihin, että pääsen käsiksi palvelimen logeihin.
Tarkista sitten vielä, mitä funktio headers_sent palauttaa juuri ennen header-riviä. Jos sieltä tulee true, tarkista myös tiedosto ja rivi, jotka saat samaisella funktiolla selville. Kovasti vaikuttaa siltä, että The Alchemist oli jo aluksi aivan oikeassa virheen suhteen.
Tulosteen puskurointia voi säätää PHP:n asetuksista.
Jos ohjelmistossa on itse kyhätty virheenkäsittelijä, voi olla, ettei virheilmoitusasetuksista ole mitään apua, vaan kaikki virheet tungetaan väkisin palvelimen lokiin.
Muuten, tietojen muuttaminen (esim. poistaminen) kuuluisi hyvän tavan mukaan tehdä POST-pyynnöllä eikä GET-pyynnöllä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.