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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 3:14

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 2.6
Linux 2.6
Messaggi: 777
Iscritto il: dom ott 14, 2007 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: Problemi di header in autenticazione

Messaggioda nuitari » dom gen 20, 2008 3:16

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: 4540
Iscritto il: mer lug 28, 2004 0:00
Nome Cognome: Nino
Slackware: current 64bit
Kernel: as in current
Desktop: XFCE
Località: Reggio Calabria
Contatta:

Re: Problemi di header in autenticazione

Messaggioda aschenaz » dom gen 20, 2008 10:36

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

samiel
Staff
Staff
Messaggi: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 11:53

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 2.6
Linux 2.6
Messaggi: 777
Iscritto il: dom ott 14, 2007 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: Problemi di header in autenticazione

Messaggioda nuitari » dom gen 20, 2008 12:30

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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 19:30

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: 12661
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Problemi di header in autenticazione

Messaggioda conraid » dom gen 20, 2008 19:46

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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 19:48

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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 19:49

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: 12661
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Problemi di header in autenticazione

Messaggioda conraid » dom gen 20, 2008 19:54

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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 19:57

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

M.

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

Re: Problemi di header in autenticazione

Messaggioda conraid » dom gen 20, 2008 20:02

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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 20:09

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: 5504
Iscritto il: ven gen 16, 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

Messaggioda samiel » dom gen 20, 2008 20:11

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

M.

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

Re: Problemi di header in autenticazione

Messaggioda conraid » dom gen 20, 2008 20:14

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


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite