Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LegionInvader

Problema com login

Recommended Posts

Bom, eu faço o login assim:

 

PHP [/tr][tr]

<?php

session_start();

 

require_once('../Connections/conection.php');

 

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($accesscheck)) {

$GLOBALS['PrevUrl'] = $accesscheck;

session_register('PrevUrl');

}

 

if (isset($_POST['login'])) {

$loginUsername=$_POST['login'];

$password=$_POST['senha'];

$MM_fldUserAuthorization = "acesso";

$MM_redirectLoginSuccess = "../pag/index.php";

$MM_redirectLoginFailed = "falha.php";

$MM_redirecttoReferrer = true;

mysql_select_db($database_conection, $conection);

 

$LoginRS__query=sprintf("SELECT id, username, password, acesso, last_vis_date, last_vis_time FROM arq_compradores WHERE username='%s' AND password='%s'",

get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

 

$LoginRS = mysql_query($LoginRS__query, $conection) or die(mysql_error());

$loginFoundUser = mysql_num_rows($LoginRS);

if ($loginFoundUser) {

 

$id = mysql_result($LoginRS,0,'id');

$username = mysql_result($LoginRS,0,'username');

$acesso = mysql_result($LoginRS,0,'acesso');

$last_vis_date = mysql_result($LoginRS,0,'last_vis_date');

$last_vis_time = mysql_result($LoginRS,0,'last_vis_time');

 

$_SESSION["MM_id"] = "$id";

$_SESSION["MM_Username"] = "$username";

$_SESSION["MM_UserGroup"] = "$acesso";

$_SESSION["MM_last_vis_date"] = "$last_vis_date";

$_SESSION["MM_last_vis_time"] = "$last_vis_time";

 

//Atualizar a última visita

$date = date("Y-m-d");

$time = date("H:i:s");

 

$update_date = "update arq_compradores set last_vis_date = '$date' where id = $id";

mysql_query($update_date, $conection) or die(mysql_error());

$update_time = "update arq_compradores set last_vis_time = '$time' where id = $id";

mysql_query($update_time, $conection) or die(mysql_error());

$update_vis = "update arq_compradores set vis = vis + 1 where id = $id";

mysql_query($update_vis, $conection) or die(mysql_error());

 

if (isset($_SESSION['PrevUrl']) && true) {

$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];

}

header("Location: " . $MM_redirectLoginSuccess );

}

else {

header("Location: ". $MM_redirectLoginFailed );

}

}

?>

[/tr]

 

Daí ele redireciona para a index.php

 

que é assim:

 

PHP [/tr][tr]

<?php

session_start();

 

require_once('../Connections/conection.php');

 

$maxRows_show_ofertas = 6;

$pageNum_show_ofertas = 0;

if (isset($_GET['pageNum_show_ofertas'])) {

$pageNum_show_ofertas = $_GET['pageNum_show_ofertas'];

}

$startRow_show_ofertas = $pageNum_show_ofertas * $maxRows_show_ofertas;

 

mysql_select_db($database_conection, $conection);

$query_show_ofertas = "SELECT est_produtos.id, est_produtos.produto, est_produtos.preco-(est_produtos.preco*(est_produtos.desconto/100)) AS preco FROM est_produtos WHERE est_produtos.desconto > 0 ORDER BY est_produtos.desconto DESC";

$query_limit_show_ofertas = sprintf("%s LIMIT %d, %d", $query_show_ofertas, $startRow_show_ofertas, $maxRows_show_ofertas);

$show_ofertas = mysql_query($query_limit_show_ofertas, $conection) or die(mysql_error());

$row_show_ofertas = mysql_fetch_assoc($show_ofertas);

 

if (isset($_GET['totalRows_show_ofertas'])) {

$totalRows_show_ofertas = $_GET['totalRows_show_ofertas'];

} else {

$all_show_ofertas = mysql_query($query_show_ofertas);

$totalRows_show_ofertas = mysql_num_rows($all_show_ofertas);

}

$totalPages_show_ofertas = ceil($totalRows_show_ofertas/$maxRows_show_ofertas)-1;

 

$maxRows_show_top = 7;

$pageNum_show_top = 0;

if (isset($_GET['pageNum_show_top'])) {

$pageNum_show_top = $_GET['pageNum_show_top'];

}

$startRow_show_top = $pageNum_show_top * $maxRows_show_top;

 

mysql_select_db($database_conection, $conection);

$query_show_top = "SELECT est_produtos.id, est_produtos.produto, est_produtos.preco-(est_produtos.preco*(est_produtos.desconto/100)) AS preco FROM est_produtos ORDER BY est_produtos.vis DESC";

$query_limit_show_top = sprintf("%s LIMIT %d, %d", $query_show_top, $startRow_show_top, $maxRows_show_top);

$show_top = mysql_query($query_limit_show_top, $conection) or die(mysql_error());

$row_show_top = mysql_fetch_assoc($show_top);

 

if (isset($_GET['totalRows_show_top'])) {

$totalRows_show_top = $_GET['totalRows_show_top'];

} else {

$all_show_top = mysql_query($query_show_top);

$totalRows_show_top = mysql_num_rows($all_show_top);

}

$totalPages_show_top = ceil($totalRows_show_top/$maxRows_show_top)-1;

 

$maxRows_show_novidades = 15;

$pageNum_show_novidades = 0;

if (isset($_GET['pageNum_show_novidades'])) {

$pageNum_show_novidades = $_GET['pageNum_show_novidades'];

}

$startRow_show_novidades = $pageNum_show_novidades * $maxRows_show_novidades;

 

mysql_select_db($database_conection, $conection);

$query_show_novidades = "SELECT id, produto, preco-(preco*(desconto/100)) AS preco FROM est_produtos ORDER BY date DESC, time DESC";

$query_limit_show_novidades = sprintf("%s LIMIT %d, %d", $query_show_novidades, $startRow_show_novidades, $maxRows_show_novidades);

$show_novidades = mysql_query($query_limit_show_novidades, $conection) or die(mysql_error());

$row_show_novidades = mysql_fetch_assoc($show_novidades);

 

if (isset($_GET['totalRows_show_novidades'])) {

$totalRows_show_novidades = $_GET['totalRows_show_novidades'];

} else {

$all_show_novidades = mysql_query($query_show_novidades);

$totalRows_show_novidades = mysql_num_rows($all_show_novidades);

}

$totalPages_show_novidades = ceil($totalRows_show_novidades/$maxRows_show_novidades)-1;

?>

[/tr]

 

Eu creio que está tudo certo, porém quanto tento um

 

<?php

if(isset($_SESSION["MM_Username"]) == TRUE) {echo $_SESSION["MM_Username"];}

else {echo $visitante = "Visitante";}

?>

 

Ele exibi "visitante"

 

parece que a session não está registrando, sei lá... alguém pode me ajudar...

 

para ver exemplo do que está acontecendo entra em

http://malojavirtual.cjb.net

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eaeee cara beleza?!?!?!Seguinte edita o arquivo que armazena a sessao para ver se esta armazenando...Caso esteja armazenando verifica o seu IF aeee pode ser isto se você nao conseguir diz aeee que eu posto aki um codigo verificando a sessao...Tipo faz um IF mais completo verifica se EXISTE a sessao e SE existir verifica se esta vazio e SE nao estiver vazio verifica se consta no seu DB de user cadastrados SE tudo estiver certo imprimi o LOGIN SENAO somente visitante..Fica mais seguro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eaeee cara beleza?!?!?!

 

 

Seguinte edita o arquivo que armazena a sessao para ver se esta armazenando...

Caso esteja armazenando verifica o seu IF aeee pode ser isto

se você nao conseguir diz aeee que eu posto aki um codigo verificando a sessao...

 

 

Tipo faz um IF mais completo verifica se EXISTE a sessao e SE existir verifica se esta vazio e SE nao estiver vazio verifica se consta no seu DB de user cadastrados SE tudo estiver certo imprimi o LOGIN SENAO somente visitante..

 

Fica mais seguro...

Opa...

 

pois é... eu fiz isso...

 

PHP [/tr][tr]<?php

if(isset($_SESSION["MM_Username"]) == TRUE) {echo $_SESSION["MM_Username"];}

else {echo $visitante = "Visitante";}

?>

[/tr]

 

na página do login funciona, por exemplo, se eu já estou logado, e retorno na pagina de login, esse

 

PHP [/tr][tr]<?php

if(isset($_SESSION["MM_Username"]) == TRUE) {echo $_SESSION["MM_Username"];}

else {echo $visitante = "Visitante";}

?>

[/tr]

 

me retorna o login...

 

já na página index.php, mesmo depois de estar logado o mesmo código

 

PHP [/tr][tr]<?php

if(isset($_SESSION["MM_Username"]) == TRUE) {echo $_SESSION["MM_Username"];}

else {echo $visitante = "Visitante";}

?>

[/tr]

 

não funciona.

 

isso que tá me contrareando...

 

Tem alguma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta

 

PHP [/tr][tr]<?php

if(isset($_SESSION["MM_Username"])) {echo $_SESSION["MM_Username"];}

else {echo $visitante = "Visitante";}

?>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta

 

PHP [/tr][tr]<?php

if(isset($_SESSION["MM_Username"])) {echo $_SESSION["MM_Username"];}

else {echo $visitante = "Visitante";}

?>

[/tr]
Não deu...

 

Mas o problema não é bem com o isset, mas sim, com a página estar limpando a SESSION.

 

pois veja só, eu estou logado, certinho, na página de login se chamo um echo na SESSION username, ele me exibe o nome que está logado certinho, mas aí quando eu clico no cabeçalho para voltar para a página INDEX.php

 

se eu chamo um echo na SESSION username de novo ele me retorna em branco...

 

Isso tá muito estranho...

 

Não sei mais o que fazer...

 

Me ajudem aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.