Hitmanpt Posted February 19, 2013 at 02:56 PM Report #496150 Posted February 19, 2013 at 02:56 PM (edited) Boas pessoal.... Eu tenho o seguinte código if($result_num > 0){ while($row = mysql_fetch_array($result)){ $ver = $row['verified']; if($ver=='true') { $idsess = stripslashes($row["id"]); $firstnamesess = stripslashes($row["name"]); $username = stripslashes($row["username"]); $email = stripslashes($row['email']); $time = (time()+43200); setcookie("usr", $username, $time, "", "site.com"); setcookie("name", $firstnamesess, $time, "", "site.com"); setcookie("email",$email,$time,"","site.com"); $_SESSION["id"] = $idsess; $_SESSION["name"] = $firstnamesess; $_SESSION["user"] = $username; header("location: http://" . $lang . ".site.com/index.php?page=" . $redirect . "&arg=login_success"); } else { header("location: http://" . $lang . ".site.com/index.php?page=" . $redirect . "&arg=login_ana"); } } } else { header("location: http://" . $lang . ".site.com/index.php?page" . $redirect . "&arg=login_error"); } E dá-me este erro Warning: Cannot modify header information - headers already sent by (output started at /home/hitmanpt/public_html/resources/login_system.php:1) in /home/hitmanpt/public_html/resources/login_system.php on line 52 Warning: Cannot modify header information - headers already sent by (output started at /home/hitmanpt/public_html/resources/login_system.php:1) in /home/hitmanpt/public_html/resources/login_system.php on line 53 Warning: Cannot modify header information - headers already sent by (output started at /home/hitmanpt/public_html/resources/login_system.php:1) in /home/hitmanpt/public_html/resources/login_system.php on line 54 Warning: Cannot modify header information - headers already sent by (output started at /home/hitmanpt/public_html/resources/login_system.php:1) in /home/hitmanpt/public_html/resources/login_system.php on line 58 Sendo as linhas as seguintes setcookie("usr", $username, $time, "", "site.com"); //linha 52 setcookie("name", $firstnamesess, $time, "", "site.com"); //linha 53 setcookie("email",$email,$time,"","site.com"); //linha 54 header("location: http://" . $lang . ".site.com/index.php?page=" . $redirect . "&arg=login_success"); //linha 58 Alguma ideia?? Edited February 19, 2013 at 02:56 PM by Windows Dragon
scorch Posted February 19, 2013 at 03:00 PM Report #496152 Posted February 19, 2013 at 03:00 PM Sim. Tens de executar esse código dos headers antes de enviares qualquer coisa para o cliente (a.k.a echo's, print's, HTML e companhia). Ou seja, só podes imprimir para o browser depois de mandares os headers. 🙂 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.
HappyHippyHippo Posted February 19, 2013 at 03:00 PM Report #496154 Posted February 19, 2013 at 03:00 PM várias .. a primeira é : tens alguma código (HTML também é código) antes do código PHP ? a segunda é : tens algum código PHP a fazer algum tipo de output (echo, printf, etc ...) antes do código que apresentaste ? tenho outras, mas estas são as mais convencionais ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Hitmanpt Posted February 19, 2013 at 03:11 PM Author Report #496157 Posted February 19, 2013 at 03:11 PM várias .. a primeira é : tens alguma código (HTML também é código) antes do código PHP ? a segunda é : tens algum código PHP a fazer algum tipo de output (echo, printf, etc ...) antes do código que apresentaste ? tenho outras, mas estas são as mais convencionais ... Não tenho nada antes do PHP nem depois Não tenho nada a fazer print, echo nem outros... Nem Antes nem depois
HappyHippyHippo Posted February 19, 2013 at 03:20 PM Report #496162 Posted February 19, 2013 at 03:20 PM Não tenho nada antes do PHP nem depois Não tenho nada a fazer print, echo nem outros... Nem Antes nem depois ok, vamos então para os casos estranhos : - verifica se o teu ficheiro com o código não está gravadono formato UTF-8 com BOM, e se sim, grava em UTF-8 sem BOM BOM : Byte Order Mask = bytes inicias no ficheiro de ditam a ordem dos caracteres multibyte. caracteres que não são visíveis no editor 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
NunoDinis Posted February 19, 2013 at 03:27 PM Report #496165 Posted February 19, 2013 at 03:27 PM ok, vamos então para os casos estranhos : - verifica se o teu ficheiro com o código não está gravadono formato UTF-8 com BOM, e se sim, grava em UTF-8 sem BOM BOM : Byte Order Mask = bytes inicias no ficheiro de ditam a ordem dos caracteres multibyte. caracteres que não são visíveis no editor Quando me acontece isso, é sempre esse o problema. Mas é correto pôr sem BOM @happy ? Há uns tempos dei essa solução e quase me batiam 🙂 Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
Hitmanpt Posted February 19, 2013 at 03:42 PM Author Report #496169 Posted February 19, 2013 at 03:42 PM ok, vamos então para os casos estranhos : - verifica se o teu ficheiro com o código não está gravadono formato UTF-8 com BOM, e se sim, grava em UTF-8 sem BOM BOM : Byte Order Mask = bytes inicias no ficheiro de ditam a ordem dos caracteres multibyte. caracteres que não são visíveis no editor Se é correto ou não... Isso não sei... Mas funcionou... Thanks HappyHippyHippo 😉
HappyHippyHippo Posted February 19, 2013 at 03:43 PM Report #496170 Posted February 19, 2013 at 03:43 PM sim ... os bytes do BOM é considerado conteúdo HTML fazendo que as chamadas dos headers sejam invalidadas 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now