[PHP] Nao regista a sessao

Started by XsTeAl, January 26, 2009, 04:31:30 PM

Previous topic - Next topic

XsTeAl

boas tenho este codigo, mas nao me regista a sessao nao sei porque...


$username = mysql_real_escape_string($_POST['username']);  
$password = md5(mysql_real_escape_string($_POST['password']));  

$checklogin = mysql_query("SELECT * FROM users WHERE username = '".$username."' AND password = '".$password."'");  
 
if(mysql_num_rows($checklogin) != 0)  
{  
ob_start();  
 $_SESSION['Username'] = $username;
header("location: main.php");
 ob_end_flush();
  }  
  else  
 {  
echo "Erro";  
 }

XsTeAl

#1
ja consegui resolver mas agora quando faco redirect

da-me erro, ou seja quando uso

header("location: index.php");
da-me este erro

Warning: Cannot modify header information - headers already sent by (output started at /home/outside/public_html/xsteal/jogo/entrar.php:7) in /home/outside/public_html/xsteal/jogo/entrar.php on line 11
uma vez consegui resolver este problema, mas agora nao consigo se alguem tiver uma dica... obrigado

------------------
como nao da para eliminar o post, digo como resolvi, meti no inicio do codigo no ficheiro index.php o seguinte: ob_start(); e no final: ob_end_flush();

isto claro dentro das tags do php

crazii

Tens duas opções para resolver o problema dos header, ou alteras o php.ini o parametro "output buffer" para verdadeiro ou
No ínicio do documento antes de qualquer código chamas a função"ob_start();"      
e no final do documento chamas a função "ob_end_flush();"

espero ter ajudado!

Nothing thrills me anymore
Boring

ilovehentai

1Ã,º Para registar correctamente uma sessão confirma que tens o session_start() para inicializares a sessão
2Ã,º Não vejo porque necessitas do buffer para validares o teu login
3Ã,º Os headers provalemente nao podem ser enviados porque já foram enviados, para isso coloca o PHP antes de qualquer html que possas ter no teu ficheiro, se não tiveres html no ficheiro e estiveres a fazer include desse código verifica que o include é feito antes da tag html ou alias doctype
4Ã,º Meu deus.. esquece esses mysql_real_escapes etc... e passa a usar Mysqli é importante!
5Ã,º vejo que nao fazes quaisquer validação as strings que recebes ...
6Ã,º Sugiro que em vezes de validares que o numero de linhas seja diferente de 0 faças seja igual a 1 pois apenas pode haver 1 resultado possivel.