Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, estou com uma duvida.. vou tentar ser claro, pq ela eh dificil de entender.
vamos supor q eu tenha esse diretorio: index.php?user=USUARIO
no lugar do "USUARIO" eu coloco o usuario q eu tenho cadastrado, o site faz uma pesquisa no meu BD e exibe as informações do tal usuario. beleza isso é simples, mas nessa mesma página tem como fazer login pra editar as informações. É ai que entra a minha duvida,
como eu vou mostrar pro site q a página index.php?user=USUARIO1 tem como login correto email1 e senha1, e a página index.php?user=USUARIO2 tem como login correto login2 e email2? Entenderam?
eu ja tenho o sistema de login pronto, mas quando eu vou logar, eu coloco o e-mail e senha, ele procura no BD e valida, só q eu posso usar o meu email e minha senha pra editar qualquer página do site, eu gostaria de restringir para apenas ter acesso o usuario em questão.
Quem souber ajuda ai =D Valeu!
>
na página de login está usando $_SESSION ?
Cara, eu tentei desse jeito:
perfil.php?user=USUARIO1
digamos q esse USUARIO1 tenha como login correto email1 e senha1. ai eu fiz assim:
$login = $_GET['user'];
$sql = "SELECT 'email', 'senha' FROM promocao WHERE user= '$login'";
$qr = mysql_query($sql) or die(mysql_error());
if($_POST['email'] && $_POST['senha'] != $qr):
echo '<script>alert("Email e/ou Senha invalida")</script>';
echo '<script>history.back()</script>';
exit;
else:
session_start();
$_SESSION['email'] = $email;
$_SESSION['senha'] = $senha;
$_SESSION['user'] = $user;
header("location:editar.php?user=".$_GET['user']."");
endif;
vamos explicar esse codigo, o trecho "$sql = "SELECT 'email', 'senha' FROM promocao WHERE user= '$login'";" busca o e-mail e senha do "user", e no trecho "if($_POST['email'] && $_POST['senha'] != $qr):" ele compara o e-mail e senha enviados, com os armazenados no BD, se for diferente ele da erro, se for igual ele cria sessão do email, senha, e user e depois envia pra pagina de edição.
A idéia desses códigos faz sentido, mas em algum lugar deles eu errei, pq mesmo eu colocando um login valido, ele da erro.
Você ou alguém sabe aonde está o erro? ou como eu posso fazer isso? Valeu!
o erro está em praticamente tudo
nessa condicional,
if($_POST['email'] && $_POST['senha'] != $qr):
está dizendo que
SE a variável $_POST['email'] for TRUE e a variável $_POST['senha'] for diferente do "resource" $qr
ENTÃO login inválido
FIM SE
a condicional está completamente sem sentido
outro erro grave é que, do modo como montou a lógica, qualquer usuário conseguirá logar com a conta que quiser.
o correto é fazer uma autenticação numa página própria para essa finalidade e, nas páginas que requer autenticação, apenas adicione condicionais para checar se o login é válido.
Pois é cara, eu comecei a estudar PHP e MySQL há uns 5 dias. As funções, codigos e tal ainda não estão claros na minha cabeça, ainda não consigo organizar de modo coerente. tem como você me ajudar? fazendo um tipo de fluxograma? e posta aqui, iria ajudar bastante, de dicas de quais códigos usar. (não estou pedindo pra você me dar o script pronto, apenas me mostre como se faz =)
valeu cara!
>
use o Responder Azul /applications/core/interface/imageproxy/imageproxy.php?img=http://img222.imageshack.us/img222/8498/respondery.png&key=db0a5d713bd1099ba19595f08a80f5881ed1a276406432195f83536896c761d5" alt="respondery.png" />
ou a 'Resposta Rápida'.
Começe pelo Manual do PHP e Manual do MySQL
na página de login está usando $_SESSION ?