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";
}
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
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
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.