problema con header

Ciao Ragazzi

che pizza ritornare su cose che sembravano essere a posto

Ho queste 2 funzioni come sapete:

function delete($id) {
mysql_query("delete from carrello WHERE id=$id");
Header("Location: fatt1.php");
}

function delete_all() {
mysql_query("TRUNCATE TABLE carrello");
}

richiamate rispettivamente da un link e da un tasto submit della stessa pagina

fatt1.php che ormai conoscete bene.

Il problema non riesco a far aggiornare la pagina dopo che le query (che funzionano) sono state eseguite e devo cliccare sul tasto aggiorna del browser per vedere le modifiche effettuate.

Ho provato ad inserire:

Header("Location: fatt1.php");

in una di esse ma ricevo un messaggio di errore dal browser:

Warning: Cannot modify header information - headers already sent by

(output started at c:\programmi\easyphp1-7\www\fattura\fatt1.php:195) in

c:\programmi\easyphp1-7\www\fattura\fatt1.php

on line 201

forse perch alla riga 195 finisce il contenuto html di un echo.

Ho provato a spostare le funzioni a capo pagina ma niente.

Il bello che nel codice di questa vecchia discussione c'erano ugualmente gli header ma non

avevo messaggi di errore:

http://www.phpnews.it/forum/index.php?topic=1726.0

Potete dirmi qualcosa?

C' un metodo alternativo per far aggiornare la pagina senza gli header della funzione?

Grazie

inviato 9 anni fa
frankphp
X 0 X

Probabilmente hai modificato qualche cosa che produce un output prima di inviare il nuovo header e quindi non pu reindirizzare; questo non dipende da dove stanno scritte le funzioni, ma da quello che avviene prima che venga inviata la nuova intestazione.

risposto 9 anni fa
LonelyWolf
X 0 X

io ti consiglio due procedimenti:

al posto di come fai tu, fai: header("Refresh: 2; URL=../index.php");

In questo modo refreshi in automatico!

Oppure, se la pagina esegue solo codice, e non ha output puoi direttamente inserire all'inizio della pagina questo codice:

<meta http-equiv="REFRESH" content="3; URL=contatti.php">

Questo non va dentro i tag <? ?>, un semplice tag <html>

Anche questo secondo modo refresha la pagina in automatico.

Cmq, se non va l'header...probabilmente il codice non header: capito che intendo? evidentemente non il primo tag html prodotto dal tuo script (spero di essere stato chiaro...ma non ne sono molto sicuro... :D)

Saluti

risposto 9 anni fa
micdech
modificato 9 anni fa
X 0 X

io ti consiglio due procedimenti:

al posto di come fai tu, fai: header("Refresh: 2; URL=../index.php");

In questo modo refreshi in automatico!

Oppure, se la pagina esegue solo codice, e non ha output puoi direttamente inserire all'inizio della pagina questo codice:

<meta http-equiv="REFRESH" content="3; URL=contatti.php">

Questo non va dentro i tag <? ?>, un semplice tag <html>

Anche questo secondo modo refresha la pagina in automatico.

Cmq, se non va l'header...probabilmente il codice non header: capito che intendo? evidentemente non il primo tag html prodotto dal tuo script (spero di essere stato chiaro...ma non ne sono molto sicuro... :D)

Saluti

si ha output, come puoi vedere dal link postato sopra.

Provo e ti faccio sapere.

Grazie ancora

risposto 9 anni fa
frankphp
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda