- Home
- Categorie
- Coding e Sistemistica
- PHP
- Aiuto Per Errore Php (Warning: Cannot modify header information)
-
Allora dopo all'apertura del codice metti:
[php]
<?php
ob_start("ob_gzhandler");
header('Location: /');
exit;
[/php]E vediamo che succede.
-
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()\">
-
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?
-
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
-
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.
-
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
-
la pagina index contiene pochissimi dati, lo script è complesso sotto vedi il contenuto della pagina index
<? header("Location: ../index.php"); ?>
-
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.
-
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
-
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.
-
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
-
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.
-
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=10377244Poi sei libero di continuare a non ascoltarmi e cercare altri problemi, che per ovvi motivi non troverai.
-
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.
-
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.
-
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
-
io ho incontrato numerosi problemi di questo tipo a cuasa della codifica del file.
alcune volte mi visualizzava anche nell'html dei caratteri strani all'inizio della pagina (proprio come primo carattere, il primo carattere della prima riga).
di solito risolvo impostando la codifica in utf8 e fine riga UNIX (LF).
è bello dire (alla fine) funziona....!!!!!
-
PERFETTO!. L'importante è quello.
-
dimenticavo una cosa importantissima:
di questi problemi ne ho avuto utilizzando editor tipo notepad++, mentre usando pspad non ci sono problemi, è potentissimo.
quando invece lavoro sotto con linux uso geany che, purtroppo, non ha la stessa efficacia sotto windows... (ed è anche abbastanza lento).
-
Questi non li ho mai usati, io lavoro con dreamweaver.