Algo errado no php

Obrigado HecKel, assim não tive que esplicar, e vendo bem a tua esplicação é de longe melhor do que qualquer uma que eu ia dar :P simplesmente não fui feito para transmitir informação penso eu de que :)
 
Estou de volta com mais uma duvida... Estou a criar a parte login do meu site...estava a correr bem, até que, quando fui testar deu erro. Passo a especificar:
- Na parte do login, coloquei o username e a password, tudo bem, estava tudo certo
- Mas apareceu o seguinte erro
Warning: Cannot modify header information - headers already sent by (output started at E:\Sites\index.php:13) in E:\Sites\login.php on line 63
- Na linha 13 do index.php está:
<div id="menu">
- Na linha 63 desse login.php está o seguinte
header("Location: members.php");
- O ficheiro members.php existe e está no sitio certo...

Se alguém souber o que se passa agradecia que me ajudasse... Thanks
 
Última edição:
Estou de volta com mais uma duvida... Estou a criar a parte login do meu site...estava a correr bem, até que, quando fui testar deu erro. Passo a especificar:
- Na parte do login, coloquei o username e a password, tudo bem, estava tudo certo
- Mas apareceu o seguinte erro

- Na linha 13 do index.php está:

- Na linha 63 desse login.php está o seguinte

- O ficheiro members.php existe e está no sitio certo...

Se alguém souber o que se passa agradecia que me ajudasse... Thanks

Suponho que estás a usar a função "session_start();". O que se passa é que antes de invocares esta função, não podes ter nem espaços nem carriage-returns extra. Isto é, acontece esse erro se tiveres isto:

Código:
/* Imagina que aqui existe um "ENTER" - não consegui fazer com que aparecesse no post */
<? session_start(); ?>
Em vez disto (que te resolve o problema):

Código:
<? session_start(); ?> /* Note-se que já não existe ENTER*/
O mesmo acontece se tiveres "espaços", estes são mais difíceis de detectar, por isso tem atenção. Este link é capaz de ser útil:
http://www.hostingfanatic.com/webdev/php/101/headers-already-sent.html

-----------

Agora eu, também tenho um problema:

Tenho uma BD em MySQL, cujas chaves primárias são todas AUTO_INCREMENT. Aparentemente ao invocar a função LAST_INSERT_ID() do SQL, esta deveria efectivamente retornar o último ID inserido. Mas em vez disso retorna sempre 0!!! O mesmo acontece se invocar a função mysql_insert_id().

Não percebo o que se passa! Alguém tem uma possível solução?

Obrigado.
 
Suponho que estás a usar a função "session_start();". O que se passa é que antes de invocares esta função, não podes ter nem espaços nem carriage-returns extra. Isto é, acontece esse erro se tiveres isto:

Código:
/* Imagina que aqui existe um "ENTER" - não consegui fazer com que aparecesse no post */
<? session_start(); ?>
Em vez disto (que te resolve o problema):

Código:
<? session_start(); ?> /* Note-se que já não existe ENTER*/
O mesmo acontece se tiveres "espaços", estes são mais difíceis de detectar, por isso tem atenção. Este link é capaz de ser útil:
http://www.hostingfanatic.com/webdev/php/101/headers-already-sent.html

-----------

Agora eu, também tenho um problema:

Tenho uma BD em MySQL, cujas chaves primárias são todas AUTO_INCREMENT. Aparentemente ao invocar a função LAST_INSERT_ID() do SQL, esta deveria efectivamente retornar o último ID inserido. Mas em vez disso retorna sempre 0!!! O mesmo acontece se invocar a função mysql_insert_id().

Não percebo o que se passa! Alguém tem uma possível solução?

Obrigado.

podes sempre utilizar um select ID ORDER BY DESC e depois usas o mysql_result($consulta, 0); e assim tens o ultimo id
 
Back
Topo