Tela de login e senha - Retornar apenas o registro de quem logou...

estou testando o scriptcase e desenvolvi um pequeno sistema de curriculo, gostaria que me auxiliassem se possivel, pois tenho um formulario de dados e outro de controle de usuario e senha. Se o usuário digitar o seu email e senha e os mesmos existirem abrir o formulario com a apenas o seu registro e tambem somente para atualização, caso não exista o email a tela de cadastro exibiria ja coma tela de inserção. Consegui rabiscar alguma coisa, segue o código.

evento onvalidate
$email_control = {email};
$senha_control = {senha};
$sql = “select email, senha from dados_pessoais
WHERE email =’”.$email_control."’
AND senha =’".$senha_control."’";
sc_lookup(ds,$sql);
if (empty({ds})) {
//sc_error_message(“Email não registrado!! Iniciando inclusão!!”);
sc_apl_conf(“form_dados_pessoais”, “start”, “new”);
sc_redir(form_dados_pessoais.php);
}
else {
sc_apl_conf(“form_dados_pessoais”, “insert”, “off”);
sc_redir(form_dados_pessoais.php);
}

$email_control = {email};
$senha_control = {senha};
$sql =    "select email, senha from dados_pessoais
WHERE email ='".$email_control."'
AND senha ='".$senha_control."'";
sc_lookup(ds,$sql);
if (isset(ds[0][0]))) {
   sc_apl_conf("form_dados_pessoais", "start", "update");
   sc_redir(form_dados_pessoais.php);
   }
else {
   //sc_error_message("Email não registrado!! Iniciando inclusão!!");
   sc_apl_conf("form_dados_pessoais", "start", "new");
   sc_redir(form_dados_pessoais.php);
   }

Ai no onLoad da form_dados_pessoais você coloca:

sc_reset_apl_conf("form_dados_pessoais", "start");

Acho que é isso que você quer.

Obrigado pela resposta meu amigo, porém continua indo para o primeiro registro.

Gente, alguém pode me ajudar, ja tentei com sc_lookup e com sc_select, porém o formulario é carregado com todos os registros. Preciso apenas do registro do usuário que se logou. Acredito que deve ter algum parametro a ser passado no momento que se chama o formulário com a macro sc_redir, mas nao obtive sucesso.

Helder eu também estou procurando por isso.

Helder/Robert se conseguirem algum exemplo me mandem, também estou a procura desta rotina, na verdade estou com um sistema totalmente pronto só falta implementar isto para poder entregar o mesmo, o Arquimedes havia me falado que enviaria para o meu e-mail um exemplo completo e funcional do mesmo, só que ele esta viajando direto e não teve ainda como enviar, caso alguém tenha o e-mail dele e quiser entrar em contato com o mesmo ajudaria bastante.

PS: Caso alguém consiga um exemplo me mandem por favor valterjrs@hotmail.com, caso seja só um parâmetro vou ficar de olho no fórum

CONSEGUI!!! xD

É mais fácil do que eu imaginava vamos usar o código do Helder como exemplo, bom primeiramente temos que seguir esses 2 passos abaixo:

Vá no seu formulário no menu SQL:

Depois vá ao campo Cláusula Where e crie sua variável global:

Dai pra frente vamos ao código:

$email_control = {email};
$senha_control = {senha};
$sql =    "select email, senha from dados_pessoais
WHERE email ='".$email_control."'
AND senha ='".$senha_control."'";
sc_lookup(ds,$sql);
if (isset(ds[0][0]))) {
   sc_apl_conf("form_dados_pessoais", "start", "update");
   [WHERE_DINAMICO] = "email = '". {ds[0][0]}."'"; //  Aqui você coloca a condição.
   sc_redir(form_dados_pessoais.php);
   }
else {
   //sc_error_message("Email não registrado!! Iniciando inclusão!!");
   sc_apl_conf("form_dados_pessoais", "start", "new");
   [WHERE_DINAMICO] = "1=1"; //  Aqui você diz que quer todos os registros.
   sc_redir(form_dados_pessoais.php);
   }

Lembrando que você terá que colocar a variável global 1=1 toda vez que precisar acessar todos os registro, mas creio que é o mínimo.

Espero ter ajudado.

Prezado Robert, obtive esse erro e não consegui identifica-lo:

Parse error: syntax error, unexpected ‘[’, expecting T_PAAMAYIM_NEKUDOTAYIM in C:\Program Files (x86)\NetMake\v6\wwwroot\scriptcase\app\Curriculo1\control\control_apl.php on line 1228

Tem algum [ Barrando o código, mas aqui funciona 100% eu fiz como expliquei, da uma olhada no código, se você deu algum espaço depois do [ ou colocou a mais.

Aqui V6 ultima release. funcionou 100%.

Prezado Robert, descobri o erro do ‘[’, porem ainda continua trazendo todos os registros. Uma pergunta, na configuração da variavel global, se coloco entrada, aparece um get solicitando a entrada, preencho porem retorna todos os registros, se coloco como saida nao aparece o get e tambem retorna todos os registros.

Helder faz alguns testes, verifica se está achando o e-mail se está entrando no IF, se a variável está recebendo o nome certo.

A variável tem que recer SEUCAMPOEMAIL = ‘email@email.com.br’

Eu não vejo porque não funcionar, tem como você postar um dump das suas tabelas e sua aplicação exportada para eu testar aqui?

Mande no meu email: robertberbert@ymail.com

Ou me adicione no skype: robert.conesoft

Helder coloque isso no seu onValidate do login:

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(md5({pswd}));


$sql = "SELECT 
		priv_admin, 
		active, 
		name, 
		email 
	      FROM sec_usuariosusers 
	      WHERE login = $slogin
		AND pswd = ".$spswd;
	
sc_lookup(rs, $sql);
	
if(count({rs}) == 0)
{
	sc_log_add('login Fail', {lang_login_fail} . {login});
	sc_error_message({lang_error_login});
	sc_error_exit();
}
else if({rs[0][1]} == 'Y')
{
	$usr_login		= {login};
	$usr_priv_admin 	= ({rs[0][0]} == 'Y') ? TRUE : FALSE;
	$usr_name		= {rs[0][2]};
	$usr_email		= {rs[0][3]};
	sc_set_global($usr_login);
	sc_set_global($usr_priv_admin);
	sc_set_global($usr_name);
	sc_set_global($usr_email);
}
else
{
	sc_error_message({lang_error_not_active});
	sc_error_exit();
}

$email = {email};
$sql =    "select email, senha from dados_pessoais
where email = $email";
//sc_lookup(ds,$sql);
sc_select(ds,$sql);
if (!empty({ds})) {
    sc_apl_conf("form_dados_pessoais", "start", "update");
    sc_apl_conf("form_dados_pessoais","insert","off");
	$where_email = "email = '".$email."'";
	sc_set_global($where_email);	
    sc_redir(form_dados_pessoais.php);
   }
else {
   //sc_error_message("Email não registrado!! Iniciando inclusão!!");
   	sc_apl_conf("form_dados_pessoais", "start", "new");
	$where_email = "1=1";
	sc_set_global($where_email);	
   	sc_redir(form_dados_pessoais.php);
   }

E no formulário você tira a sua var_email e coloca [where_email].

Acho que vai funcionar.

Vai sim Helder, fiz exatamente como o Robert passou e deu certinho, vlw mano

Boa tarde,

Estou também desenvolvendo um sistema de currículo, tenho uma tabela chamada “curriculo” nela tenha varios campos, dentre eles email(que sera o login) e senha.

Como faço para fazer o Login desse usuario e este ver somente as informações dele mesmo.

Não consegui entender as explicações acima.