Ir para conteúdo

POWERED BY:

Arquivado

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

Elder H Arquan

Sistema de Contra-cheque online

Recommended Posts

Olá, galera.

 

Estou na tentativa de criar um sistema de contracheque online. Para que os funcionários de uma determinada empresa possa ter acesso ao seu contracheque online, evitando o desperdício de papel.

 

Bem, criei as tabelas e a parte de cadastro, minha duvida é como faço para que os funcionários quando logarem seja exibida apenas o contracheque escolhido na pagina do login?

 

Grato pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você cria uma session ou pode fazer via GET / POST você passar o codigo do contra cheque dele , e faz um select a partir da Session / Cookie / Post ou Get para exibir o contra cheque dele .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue a pagina de Login que eu Criei

 

<?php require_once('Connections/conndb.php'); ?>

<?php

$colname_rsVerificaMes = "-1";

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

$colname_rsVerificaMes = (get_magic_quotes_gpc()) ? $_GET['mesRefe'] : addslashes($_GET['mesRefe']);

}

mysql_select_db($database_conndb, $conndb);

$query_rsVerificaMes = sprintf("SELECT mesRefe FROM contracheque WHERE mesRefe = %s", $colname_rsVerificaMes);

$rsVerificaMes = mysql_query($query_rsVerificaMes, $conndb) or die(mysql_error());

$row_rsVerificaMes = mysql_fetch_assoc($rsVerificaMes);

$totalRows_rsVerificaMes = mysql_num_rows($rsVerificaMes);

?><?php

// *** Validate request to login to this site.

if (!isset($_SESSION)) {

session_start();

}

 

$loginFormAction = $_SERVER['PHP_SELF'];

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

$_SESSION['PrevUrl'] = $_GET['accesscheck'];

}

 

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

$loginUsername=$_POST['matricula'];

$password=$_POST['senha'];

$MM_fldUserAuthorization = "";

$MM_redirectLoginSuccess = "contracheque_ver.php";

$MM_redirectLoginFailed = "login.php?erroLogin=true";

$MM_redirecttoReferrer = false;

mysql_select_db($database_conndb, $conndb);

 

$LoginRS__query=sprintf("SELECT matricula, senha FROM funcionario WHERE matricula='%s' AND senha='%s'",

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

 

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

$loginFoundUser = mysql_num_rows($LoginRS);

if ($loginFoundUser) {

$loginStrGroup = "";

 

//declare two session variables and assign them

$_SESSION['MM_Username'] = $loginUsername;

$_SESSION['MM_UserGroup'] = $loginStrGroup;

 

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

$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];

}

header("Location: " . $MM_redirectLoginSuccess );

}

else {

header("Location: ". $MM_redirectLoginFailed );

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

</head>

 

<body>

<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">

<label for="select">mes</label>

<select name="select" id="select" title="<?php echo $row_rsVerificaMes['mesRefe']; ?>">

</select><br />

 

<label for="textfield">matricula</label>

<input type="text" name="matricula" id="matricula" />

<br />

<label for="label">senha</label>

<input type="text" name="senha" id="label" />

<br />

<label for="Submit"></label>

<input type="submit" name="consultar" value="Consultar" id="consultar" />

</form>

</body>

</html>

<?php

mysql_free_result($rsVerificaMes);

?>

 

Galera para ficar mais facil o entendimento.

 

Tabelas

+ Mes

- id

- mes

+ funcionario

- id

- nome

- matricula (usada para o login)

- senha (usada para o login)

+ contracheque

- id

- funcionario (relaciona com a tabela funcionarios)

- mes_referencia (relaciona com a tabela mes)

- salario

- outros_proventos

- INSS

- outros_descontos

 

Na página de login, o usuario tera que preencher trës campos:

- Mes (que sera um menu list)

- Matricula

- Senha

 

A pagina que ira exibir o contracheque deverar ser filtrada pelo mës de referencia.

 

Ta melhor assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Fiz um exemplo BEM básico, tem que arrumar muita coisa(validações,anti-sql injection, proteger as páginas, etc ,etc , etc ....), foi mais com o intuito de lhe dar um rumo mesmo.

 

Segue os arquivos (inclusive a modelagem das (2) tabelas feitas no MySQL WorkBeanch) - Clique aqui

 

Qualquer dúvida na implementação é só perguntar.

 

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

angelorubin, obrigado pela força. Comecei e entender o sessiton, para o login dos usuarios. Ainda nao utilizei o sistema por nao ter o workbench para ver as tabelas, mais estou estudando o que você fez, muito obrigado.

 

angelorubin, obrigado pela força. Comecei e entender o sessiton, para o login dos usuarios. Verifiquei que nao existe uma tabela para o mes, posso criala? ou vai alterar o session?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

No meu entendimento, achei que não seria necessário a implementação da terceira tabela (mês) na modelagem, mas caso se faça necessário e seja mais complexo do que estou imaginando, você pode cria-la sem problemas.

 

Segue o arquivo .sql, você pode importá-lo direto pelo MySQL Admin por exemplo(caso utilize-o).

 

Arquivo - Clique aqui

 

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Me explica se possível, para eu entender melhor, qual a necessidade/finalidade da tabela mês no relacionamento geral.

 

Poder você até pode utilizar o $_SESSION neste caso que você citou.

 

Porém veja qual a função exata dele - Clique aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais um probleminha, como utilizo o SUN para somar o valores e exibir na pagina contra-cheque?

 

Veja como ela está:

<?php 
	session_start();
   	$mes = $_SESSION['mes'];
	$matricula = $_SESSION['matricula'];
	$senha = $_SESSION['senha'];
	$id = $_SESSION['id'];
?>

<h3 align="center">Seu Contra-Cheque on-line	  </h3>


<h3>
  <p><a href="login.php">Sair</a></p>
</h3>
<?php 
include('includes/conecta.php');

$sql2 = ("SELECT id_funcionario, nome, funcao, data_nascimento, data_contratacao FROM funcionario WHERE id_funcionario = '$id' "); 
$query = mysql_query($sql2);

?>
   <table width="100%" border="1" cellspacing="0" cellpadding="0">
     		<tr>
   		<th width="60%" scope="col">Salário R$</th>
   		<th width="40%" scope="col">Outros Descontos</th>
  		</tr>
 <?php
 	while($resultado = mysql_fetch_array($query, MYSQL_BOTH)){
 ?>
 <tr>
   <td><?php echo $resultado['nome']; ?></td>
   <td><?php echo $resultado['data_nascimento']; ?></td>
   </tr>
 <tr>
   <th>Funçäo</th>
   <th>Data de Contrataçäo </th>
   </tr>
 <tr>
   <td><?php echo $resultado['funcao']; ?></td>
   <td><?php echo $resultado['data_contratacao']; ?></td>
   </tr>
 <?php } ?>
</table>

<?php 


$sql = ("SELECT 
mes_referencia, 
salario, 
outros_proventos, 
outros_descontos, 
inss, 
fk_id_funcionario 
FROM 
contracheque 
WHERE 
fk_id_funcionario = '$id' AND mes_referencia = '$mes' 
");

$query = mysql_query($sql);



?>
   <table width="100%" border="1" cellspacing="1" cellpadding="1">
   <caption><h3>Contracheque <?php echo "(".ucfirst($mes).")"; ?></h3></caption>
 		<tr>
   		<th colspan="2" scope="col">Proventos</th>
   		<th colspan="2" scope="col">Descontos</th>
  		</tr>
 <?php
 	while($resultado = mysql_fetch_array($query, MYSQL_BOTH)){
 ?>
 <tr>
   <td>Salário</td>
   <td><?php echo $resultado['salario']; ?></td>
   <td>INSS</td>
   <td><?php echo $resultado['inss']; ?></td>
 </tr>
 <tr>
   <td>Outros Proventos </td>
   <td><?php echo $resultado['outros_proventos']; ?></td>
   <td>Outros Descontos </td>
   <td><?php echo $resultado['outros_descontos']; ?></td>
 </tr>
 <tr>
   <td colspan="4"> </td>
   </tr>
 <tr>
   <th colspan="2">Valor Bruto R$ </th>
   <th colspan="2">Valor Líquido R$ </th>
   </tr>
 <tr>
   <td colspan="2">Aqui soma o Salario + Outros proventos</td>
   <td colspan="2">Aqui Soma INSS + outros descontos </td>
   </tr>
 <?php } ?>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim não resolve?

 

<td><?php echo($resultado['salario'] + $resultado['outros_proventos'];);  ?></td>
<td><?php echo($resultado['inss'] + $resultado['outros_descontos'];);  ?></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado, Ficou assim:

<td colspan="2">R$ <?php echo($resultado['salario'] + $resultado['outros_proventos']);  ?></td>
   <td colspan="2">R$ <?php echo($resultado['salario'] + $resultado['outros_proventos']-$resultado['inss'] - $resultado['outros_descontos']);  ?></td>

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.