Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de login para cliente e funcionário


Hdhunk

Pergunta

Bem, estou precisando de ajuda com um sistema de login em projeto de confeitaria. Basicamente um dos problemas seria que preciso que ao fazer o login, o sistema php de consulta do usuário verificasse se os dados do formulário em método post se encontram ou na tabela cliente ou na tabela funcionario, e caso os dados do formulário fossem encontrados ele seria redirecionado de acordo com sua relevância, por exemplo: se fosse um usuário ele seria redirecionado para uma nova home (sem precisar de fazer o login e se fosse um funcionário ele seria redirecionado para o painel admnistrativo.

O problema é que na prática isso não está acontecendo. Abaixo segue o código atual:

<?php

include "conexao1.php";

$login=$_POST['nome'];

$senha=$_POST['senha'];

$sql="select * from usuario, funcionario where (nomeFunc='$login' and funcionario.senha='$senha') and usuario.coduser=funcionario.coduser;";

$result=mysql_query($sql) or die (mysql_error());

if (mysql_num_rows($result)>0) {
	header('location: painel.php');

} 
else {
	header('location: home.php');
}

?>

E o formulário:

<!DOCTYPE html>
<html lang="pt-br">
	<head>
		<meta charset="UTF-8" />
		<meta name="viweport" content="width=device-width" />
		<link rel="stylesheet" href="estilo/estilo_site.css" />
		<title> ARTE KURT </title>
	</head>
	<body>
		<div id="container">
			<header id="logo">
				
				<img src="imagens/banner_tentativa2.jpg">
			</header>
			<nav id="menu">
				<ul>
					<li><a href="home.php">Home</a></li>
					<li><a href="produtos.php">Produtos</a></li>
					<li><a href="func.php">Funcionamento</a></li>
					<li><a href="loca.php">Como chegar?</a></li>
					<li><a href="login.php">Login</a></li>

				</ul>
			</nav>
<br/>
<br/>
			<table class="tblogin">
				<tr>
					<td>
						<form method="post" action="cadusuario.php">
							<fieldset class="fieldlogin">
								<legend>
									Login
								</legend>
								<label for="nome"> Nome: </label>
								<input type="text" name="nome" placeholder="Máximo 15 caracteres"> 
								<br/>
								<br/>
								<label for="senha"> Senha: </label>
								<input type="password" name="senha" placeholder="máximo 20 caracteres">
								<br/>
								<br/>
								<input type="submit" value="Logar">
							</fieldset>
						</form>
					</td>
				</tr>
			</table>
			<br/>
			<p class="linkcad"> Não tem cadastro ainda? Faça seu cadastro clicando <a href="cadastro.html">aqui.</a> </p>
			<section>
				<footer id="rodape">
				<center>
				<table id="linksrodape">
				<tr>
					<td>
						<p align="center">
							BELFORD ROXO<br/>
							(TELEFONE 1)<br/>
							(TELEFONE 2)<br/>
						</p>
					</td>
					<td>
						<p align="center">
							NOVA IGUAÇU<br/>
							(TELEFONE 1)<br/>
							(TELEFONE 2)<br/>
						</p>

					</td>
					<td>
						<p align="center">
							SÃO JOÃO DE MERITI<br/>
							(TELEFONE 1)<br/>
							(TELEFONE 2)<br/>
						</p>

					</td>
					<td>
						<p align="center">Curta nossa página!<br/>
						<a href="link_da_pagina.html"> <img src="imagens/face_icon2.png"> </a> <br/>
						</p>

					</td>
					<td>
						<p align="center">Siga-nos no Twitter!<br/>
						<a href="link_da_pagina.html"> <img src="imagens/twitter_icon.png"> </a> <br/>
						</p>

					</td>
				</tr>
			</table>
			</center>
				</footer>
			</section>
		</div>
	</body>
</html>

Outro código que tentei utilizar foi este: 

<?php

include "conexao1.php";

$login=$_POST['nome'];

$senha=$_POST['senha'];

$sql="select * from funcionario where nomeFunc='$login' and senha='$senha';";

$result=mysql_query($sql) or die (mysql_error());

if (mysql_num_rows($result)>0) {
	header('location: painel.php');

} 
else {
	header('location: home.php');
}

?>

Porém, qualquer dado que não for encontrado na tabela funcionario vai cair direto na home e a tabela usuario perderia totalmente a utilidade.

E aliás, estou usando o heidisql para o banco de dados e easyphp, seguem anexos screenshots das tabelas em questão.

Agradeço desde já a todos.

 

fk_cliente.jpg

fk_func.jpg

user.jpg

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
<?php

include "conexao1.php";

$login=$_POST['nome'];

$senha=$_POST['senha'];

$sql="select * from funcionario where nomeFunc=".$login." and senha=".$senha.";";

$result=mysql_query($sql) or die (mysql_error());

if (mysql_num_rows($result)>0) {
	header('location: painel.php');

} 
else {
	header('location: home.php');
}

?>

tenta esse código

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi como faria os niveis, seria criar um campo na tabela usuário certo? Mas onde eu definiria se ele será 1 ou 2? No próprio campo na tabela usuário? Ou teria que criar os campos niveis também nas tabelas cliente e funcionário, para então fazer consulta?

O select também não entendi muito bem, ficaria algo assim? 

$sql="select * from usuario where usuario.nivel=funcionario.nivel;";

Se for como eu faria pro reconhecer o usuario? Seria no if e else pra verificar o nivel deles?

 

6 horas atrás, ygor.anjos disse:

<?php

include "conexao1.php";

$login=$_POST['nome'];

$senha=$_POST['senha'];

$sql="select * from funcionario where nomeFunc=".$login." and senha=".$senha.";";

$result=mysql_query($sql) or die (mysql_error());

if (mysql_num_rows($result)>0) {
	header('location: painel.php');

} 
else {
	header('location: home.php');
}

?>

tenta esse código

Eu tentei utilizar esse código, mas depois dava esse erro no form:

Ele meio que fica acusando do nome digitado ser um campo ou algo assim.

 

error_1.jpg

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...