Pagina 1 di 2

Problemi di header in autenticazione

Inviato: dom gen 20, 2008 3:14
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 3:16
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 10:36
da aschenaz
Generalmente, session_start deve stare in testa alla pagina...

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 11:53
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 12:30
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 :)

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 19:30
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 19:46
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>

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 19:48
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 19:49
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 19:54
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

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 19:57
da samiel
Però così
<input type="submit" action="logout.php" value="Esci">
non funge

M.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 20:02
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>

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 20:09
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.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 20:11
da samiel
Appunto... CI ero arrivato
per tentativi ed errori.....

M.

Re: Problemi di header in autenticazione

Inviato: dom gen 20, 2008 20:14
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