Problemi di header in autenticazione

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Problemi di header in autenticazione

Messaggio da samiel »

Ho creato (meglio, sto cercando di creare) una sezione riservata di un sito.
C'è una pagina di login, che verifica la correttezza di username e password
in una tabella di un db MySQL. Il sistema in locale funziona perfettamente.
Ho caricato tutto sul server che ci ospita, ma quando inserisco i dati nel form
e li invio, ricevo questo messaggio:

Codice: Seleziona tutto

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/hostedusers/liceofranchetti/home/liceofranchetti/siti/liceofranchetti/web/prova/funzioni_fran.php:145) in /home/hostedusers/liceofranchetti/home/liceofranchetti/siti/liceofranchetti/web/prova/class/c_session.php on line 89

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/hostedusers/liceofranchetti/home/liceofranchetti/siti/liceofranchetti/web/prova/funzioni_fran.php:145) in /home/hostedusers/liceofranchetti/home/liceofranchetti/siti/liceofranchetti/web/prova/class/c_session.php on line 89

Warning: Cannot modify header information - headers already sent by (output started at /home/hostedusers/liceofranchetti/home/liceofranchetti/siti/liceofranchetti/web/prova/funzioni_fran.php:145) in /home/hostedusers/liceofranchetti/home/liceofranchetti/siti/liceofranchetti/web/prova/class/c_session.php on line 101
Come posso sistemare questa faccenda? Idee attuali ben poche...

Grazie
M.

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: Problemi di header in autenticazione

Messaggio da nuitari »

Quel messaggio deriva dal fatto che prima di usare la direttiva session_start() o una direttiva header() qualcosa ha già eseguito un output.

Quando crei una sessione, setti un cookie od usi la funzione header in un qualsiasi altro modo, devi sincerarti che precedentemente non ci sia stato nessun tipo di output, come da RFC.

EDIT:

se sei sicuro di non aver fatto output di nessun tipo, controlla che in tutti i file (ad esempio gli include delle classi) non ci siano trailing spaces prima e dopo i tag <?php ?>, è un errore comune.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Problemi di header in autenticazione

Messaggio da aschenaz »

Generalmente, session_start deve stare in testa alla pagina...

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

se sei sicuro di non aver fatto output di nessun tipo, controlla che in tutti i file (ad esempio gli include delle classi) non ci siano trailing spaces prima e dopo i tag <?php ?>, è un errore comune.
No, quello l'ho già controllato.
Adesso rivedo il codice...
Intanto grazie
M.

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: Problemi di header in autenticazione

Messaggio da nuitari »

Non è fondamentale che stia in testa alla pagina, come ho detto quello che conta è che non siano eseguite operazioni di output precedentemente.
Se hai troppi probs e non riesci a risolverlo, posta qui il codice (linkalo, vedi tu) e vediamo insieme :)

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

Ho riordinato il codice, adesso funziona.
2 giorni di lavoro, ma ce l'ho fatta.
Mi manca solo una cosa...
La stringa:
<li><a href="logout.php">Esci</a></li>
funziona, ma volevo trasformarla in un bottone.
Invece:
<form input type="button" method="post" action="logout.php" name="Esci"></form>
non produce alcun effetto...
Poi vi pago da bere...

M.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Problemi di header in autenticazione

Messaggio da conraid »

samiel ha scritto:Ho riordinato il codice, adesso funziona.
2 giorni di lavoro, ma ce l'ho fatta.
Mi manca solo una cosa...
La stringa:
<li><a href="logout.php">Esci</a></li>
funziona, ma volevo trasformarla in un bottone.
Io userei un CSS per farlo sembrare un bottone :-)


quel form cos'è?
hai mescolato due tag
<form action....>
<input.... />
</form>

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

La sintassi era tutat sballata...
Così funziona:

Codice: Seleziona tutto

<form action="logout.php">
Si pu&ograve; effettuare <br />
il logout premendo <br />
il pulsante "Esci"
<br /><br />
<input type="submit" name="Esci">
</form>
Solo che il pulsante non si chiama "Esci",
ma invia richiesta... Come mai?

M.

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

Dopo vedo di sistemare lo stile.
ALmeno coi CSS qualcosa riesco a fare.
Solo che non capisco che il pulsante
ha il nome che vuole lui
invece che quello che gli ho dato io...

Grazie
M.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Problemi di header in autenticazione

Messaggio da conraid »

samiel ha scritto:Dopo vedo di sistemare lo stile.
ALmeno coi CSS qualcosa riesco a fare.
Solo che non capisco che il pulsante
ha il nome che vuole lui
invece che quello che gli ho dato io...

Grazie
M.
value non name

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

Però così
<input type="submit" action="logout.php" value="Esci">
non funge

M.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Problemi di header in autenticazione

Messaggio da conraid »

samiel ha scritto:Però così
<input type="submit" action="logout.php" value="Esci">
non funge

M.
ma leggere un manuale tipo un "html for dummies" no? ;-)
action devi metterlo in <form>

Codice: Seleziona tutto

<form action="logout.php" method="POST">
<input type="submit" value="Esci" />
</form>

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

Funge così:
<form method="post" action="logout.php">
<input type="submit" value="Esci">
</form>
Altrimenti al posto del pulsante
mi trovo una casella di testo...

Grazie
M.

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Re: Problemi di header in autenticazione

Messaggio da samiel »

Appunto... CI ero arrivato
per tentativi ed errori.....

M.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Problemi di header in autenticazione

Messaggio da conraid »

samiel ha scritto:Funge così:
<form method="post" action="logout.php">
<input type="submit" value="Esci">
</form>
Altrimenti al posto del pulsante
mi trovo una casella di testo...

Grazie
M.
Si, stavo correggendo

Ma fare un form senza inviare niente è inutile.
Lascia come prima senza form ed usa i CSS

Rispondi