Ir para conteúdo

POWERED BY:

Arquivado

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

wilsoncrescencio

SCCNA - Sistema de Cadastro, Controle e Notas de Aluno

Recommended Posts

Esclarecimentos necessários

 

Eu estou iniciando em PHP, já aprendi um pouco, que é melhor do que nada.

Tenho algum conhecimento de programação, por já ter feito um sistema ou outro em Delphi.

Como o Delphi pertencia ao programador anterior e não a empresa onde trabalho... o Delphi se foi junto com o programador e a empresa resolveu investir em um funcionário "velho", para aprender uma tecnologia menos "dispendiosa" e que trouxe-se recursos efetivos.

Sobrou pra mim, um coroa com mais de 40 e “tantos” anos começar a aprender PHP, quando a maioria do pessoal da minha idade se recusa até a aprender a ler e-mail.

A primeira coisa que percebi é que precisava aprender um pouco de HTML antes ou durante o aprendizado de PHP... o que sugiro a quem esteja começando, assim como eu... outra é a presteza e a atenção com que o pessoal do Imasters (principalmente os moderadores) tratam os que estão iniciando... e aqui cabe ressaltar alguns ótimos amigos do Imasters Forum do Delphi: Rodrigo Miss - Hugo Slepicka - Márcio Theis, sem esquecer o Ygor Yamashita que deu uma verdadeira aula de configuração de rede do

Windows Server 2003 - A esses amigos minha eterna gratidão, pois foi graças a eles que consegui manter meu emprego.

Mesmo sendo tão inexperiente resolvi ajudar aqueles que estão começando e iniciar um tutorial de php, tímido, despretensioso.

Para quem está começando mas precisa trabalhar e não pode mais esperar.

Vou tentar ser bem didático, e conforme vou aprendendo vou ensinando.

Como sempre, conto com a força dos mais experientes, e acredito que se aprende muito no step-by-step quando a necessidade se faz presente.

Eu havia iniciado essa empreitada antes em Delphi, tive que parar, pelos motivos citados acima, cheguei a abrir este tópico a um tempo atrás, mas as inexperiência me dificultou um pouco. Depois de estudar um pouco, agora acredito que dá, com ajuda claro, tocar adiante...

Um abraço a todos...

Vamos lá!

 

 

SISTEMA DE CADASTRO, CONTROLE E NOTAS DE ALUNO (SCCNA)

Segundo o que aprendi no Imasters Fórum Delphi... O importante é planejar:

 

PLANEJANDO O SISTEMA

 

FASE 1 – INICIAÇÃO

 

• O sistema deverá ter uma “tela” onde um usuário administrador possa dar permissão a outros usuários, para utilizá-lo.

Isso exige a criação de uma tabela:

 

Tabela: usuários_admin
id_admin = integer – 6 - notnull
nome = varchar – 50 - notnull
setor = varchar – 50 - notnull
usuário = varchar – 8 - notnull
senha = varchar – 8 - notnull
nível = varchar – 2 - notnull
RG = varchar – 20 – notnull

O nível de permissão estará atrelado ao setor em que o usuário estará cadastrado.

Os níveis de acesso determinam a possibilidade de interação do usuário com o sistema. Ex:

Nível 1, usuário tem acesso a poucas áreas do sistema, acessa apenas a leitura de formulários, sem poder editá-los, ou deletá-los.

Nível 2, o usuário tem acesso restrito a algumas áreas do sistema, acessa a edição de dados sem, no entanto poder deletá-los.

Nível 3, o usuário tem livre acesso a todas as áreas do sistema podendo interagir com ele sem restrições.

O usuário administrador cadastrará apenas o setor, o RG e o nível de acesso. Os demais dados serão cadastrados pelo usuário comum quando do seu primeiro acesso. Sendo assim o sistema deverá:

Checar se existe esse RG

Se existir, cadastrar o usuário.

Se não existir, abrir uma tela informando ao usuário que entre em contato com o administrador do sistema

Quantos formulários para essa etapa do sistema?

Bom... pensando assim rapidinho creio que:

1 em HTML que receberá os dados para o administrador cadastrar.

1 em php para conexão com o banco de dados, recepção e processamento dos dados.

1 em HTML para os usuários se cadastrarem e cadastrarem sua senha.

1 em php para conexão com o banco de dados, recepção e processamento desses dados.

O que vcs acham?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... continuando...

 

Eu criei um banco de dados que chamei de ambassador euma tabela de nome useradmin.

 

Agora vamos fazer o formulário de conexão com o banco de dados...

Eu utilizo o dreamweaver para tudo, php e html.

 

Inicie um novo arquivo no dreamweaver: file/new/blank page/php. Limpe todas as linhas que estão no alto do formulário e digite os códigos abaixo.

 

<?php

define('BD_USER', 'root');/*usuario do banco de dados*/
define('BD_PASS', '');/*password do banco de dados*/
define('BD_NAME', 'ambassador');/*nome do meu banco de dados*/

mysql_connect('localhost', BD_USER, BD_PASS);
mysql_select_db(BD_NAME);

?>
Salve com o nome de config.php

 

O próximo passo é fazermos o formulário de que irá alimentar o banco de dados... esse formulário será feito em html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abra um formulário novo no Dreamweaver desta vez html.

digite o código:

 

<!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=utf-8" />
<title>Colégio Objetivo - Pirassununga - Cadastro de usuários de área restrita</title>
<style type="text/css">
<!--
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #000066;

}
.style1 {
	color: #FFFFFF;
	font-weight: bold;
}
body {
	background-image: url();
}
-->
</style></head>
<form name="cadastro" method="post" action="cadastra_admin.php">
  <table width="283" border="0" align="center" bordercolor="#CFE6F3" bgcolor="#CFE6F3">
	<!--DWLayoutTable-->
	<tr>
	  <td colspan="2" bgcolor="#FF6600"><div align="center" class="style1">Cadastro de Usuários Para Área Administrativa</div></td>
	</tr>
	
	<tr>
	  <td width="101" align="center" valign="middle" bgcolor="#CFE6F3">Nome</td>
	  <td width="172" bgcolor="#CFE6F3"><input name="nome" type="text" id="nome" value="<?php echo $nome; ?>" /></td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#CFE6F3">RG</td>
	  <td bgcolor="#CFE6F3"><label>
		<input name="rg" type="text" id="rg" value="<?php echo
$rg; ?>"/>
	  </label></td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#CFE6F3">Setor</td>
	  <td bgcolor="#CFE6F3"><label>
		<input type="text" name="setor" id="setor" value="<?php echo $setor; ?>"/>
	  </label></td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#CFE6F3">Nome de Usuário</td>
	  <td bgcolor="#CFE6F3"><input name="usuario" type="text" id="usuario" value="<?php echo $usuario; ?>" /></td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#CFE6F3">Senha</td>
	  <td bgcolor="#CFE6F3"><label>
		<input name="senha" type="password" id="senha" value="<?php echo $senha; ?>" />
	  </label></td>
	</tr>
	
	<tr>
	  <td colspan="2" bgcolor="#CFE6F3"><div align="center">
		<input type="submit" name="Submit" value="Enviar" />
	  </div></td>
	</tr>
  </table>
  <p><br />
	</p>
</form>
</body>
</html>

Salve com o nome de formulario_cadastro_admin.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

POCHA..... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Amigo esta de parabens, tanto pela iniciativa em montar um tutorial tao detalhado, como em compartilhar conosco o que esta aprendendo ai.

 

pra mim que sou iniciante em php tambem, isso serve de estimulo ...

 

 

Vou acompanha esse projeto afundo... e quero ajudar no que puder tambem...

 

Abraço e SUCESSO....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Junior pelo incentivo... espero que outros usuários do fórum, principalmente os mais experientes, também possam ajudar...

 

Mas vamos lá... já criamos o banco de dados de nome ambassador, criamos o documento de conexão com o banco de dados o config.php, já criamos o formulário de nome formulario_cadastro_admin.

 

Vamos criar agora o documento que vai verificar se o formulário de cadastro foi corretamente preenchido e vai dar as permissões para cada departamento.

 

Abra um documento novo no seu DW e digite o seguinte:

 

<!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=utf-8" />
<title>Colégio Objetivo - Pirassununga - Checagem de Dados</title>
</head>

<?php

include "config.php";

$nome = trim($_POST['nome']);
$usuario = trim($_POST['usuario']);
$senha = trim($_POST['senha']);
$setor = trim($_POST['setor']);
$rg = trim($_POST['rg']);

/* Vamos checar algum erro nos campos */

if((!$nome) || (!$usuario) || (!$senha) || (!$setor)|| (!$rg)){

	echo "<div align=center><font color=##000066> ERRO: Você não enviou as seguintes informações requeridas para o cadastro!<br /><br /></font>";

	if(!$nome){

		 echo "<font color=##000066>Nome é um campo requerido.<br /><br /></font>";

	}

   if(!$sobrenome){

		echo "<font color=##000066>Usuário é um campo requerido.<br /> <br /></font>";

	}

	if(!$email){

		 echo "<font color=##000066>Senha é um campo requerido.<br /><br /></font>";

	}

	if(!$usuario){

		echo "<font color=##000066>Setor é um campo requerido.<br /><br /></font>";

	}
	
	if(!$rg){

		echo "<font color=##000066>RG é um campo requerido.<br /><br /></font>";

	}

echo "<font color=##000066>Preencha os campos requeridos antes de clicar no botão <strong>enviar</strong>. <br /><br /></font>";

include "formulario_cadastro_admin.php";

}
else{

	/* Checando se o nome de Usuário escolhido e/ou rg já existem no banco de dados */
  $sql_usuario_check = mysql_query("SELECT COUNT(usuario_id) FROM useradmin WHERE usuario='{$usuario}'");
 $sql_rg_check	  = mysql_query("SELECT COUNT(usuario_id) FROM useradmin WHERE rg=" . $rg);

	$uReg = mysql_fetch_array($sql_usuario_check);
	$rReg = mysql_fetch_array($sql_rg_check);

	$usuario_check = $uReg[0];
	$rg_check	  = $rReg[0];

	if(($rg > 0) || ($usuario_check > 0)){

		echo "<div align=center><font color=#FFFFFF><strong>ERRO</strong>: Por favor corrija os seguintes erros: <br /><br /></font>";

		 
		 if($usuario_check > 0){

			echo "<font color=#FFFFFF>Este nome de Usuário ( <strong>".$usuario."</strong> ) já está sendo utilizado.<br />Por favor utilize outro nome de Usuário!<br /></font>";

			unset($usuario);
		}
		
				 if($rg_check < 1){

			echo "<font color=#FFFFFF>Este RG ( <strong>".$rg."</strong> )já está sendo utilizado.<br />Por favor cheque o número de RG com o Nome do Usuário!<br /></font>";

			unset($rg);
		}

		include "formulario_cadastro_admin.php";
	
	 }
	 
	 else{


/* Definindo permição para o usuário. Aqui definimos o setor e a permição. Setores utilizados e nível: administração=01, direção=01, secretaria=01, orientação=02, coordenação=02, tesouraria=03, docente=04*/
		 
		if(($setor = "administração"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 01, '$usuario', '$senha',now())")
						or die( mysql_error() );

		
		if(($setor = "direção"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 01, '$usuario', '$senha',now())")
						or die( mysql_error() );
						
		if(($setor = "secretaria"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 01, '$usuario', '$senha',now())")
						or die( mysql_error() );
								
		if(($setor = "orientação"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 02, '$usuario', '$senha',now())")
						or die( mysql_error() );
									
		if(($setor = "coordenação"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 02, '$usuario', '$senha',now())")
						or die( mysql_error() );
									
		if(($setor = "tesouraria"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 03, '$usuario', '$senha',now())")
						or die( mysql_error() );
									
		if(($setor = "docente"))
		
		$sql = mysql_query("INSERT INTO useradmin (nome, rg, setor, usuario, senha) VALUES('$nome', '$rg', 04, '$usuario', '$senha',now())")
						or die( mysql_error() );
						
		}


		if(!$sql){
	
				echo "<font color=#FFFFFF>Ocorreu um erro ao criar sua conta, por favor entre em contato com o Webmaster.</font>";
	
		}
	  

	 }


?>

O que esse documento faz mesmo? A sim! Cadastra os administradores com nível de permissão... então salve-o com o nome de cadastra_admin

Compartilhar este post


Link para o post
Compartilhar em outros sites

P A R A B É N S e muito obrigado! Também sou aprendiz (iniciante mesmo) e, bem provavelmente, com os mesmos "enta e tantos anos". Você entusiasma qualquer um. Outra coisa que concordo com você e gostaria de registrar, é o apoio que a equipe do iMasters proporciona, sem o qual, acho que já teria desistido. Foi muito bom encontrá-lo por aqui. Vou acompnahar este projeto e aprender o que puder. Duvido que possa ajudar, porém, estarei atento e, se a possibilidade aparecer, não hesitarei. Grande abraço e sucesso! Sérgio Espíndola.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelo incentivo Sérgio... e claro que você pode ajudar... testando o código, achando erro, reportando esse erro, com novas soluções... esse tópico é para isso... para aprendermos fazendo...

 

Olha só... estudando percebi que há várias maneiras de se fazer a conexão com o banco de dados e também de utilizar o Dreamweaver para montar o cadastro...

 

Uma delas está nesta vídeo aula... que estou colocando o endereço aqui porque acredito ser muito útil...

 

Video aula: http://www.vetorz.com/vertutorial/8/dream_criando_banco.html

 

é show moçada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se este sistema for usado em rede local mesmo da escola é uma boa escolha , mas se for em internet é fria já que é possivel se utilizar de injeções de comandos sql no mesmo...

 

eu adoraria que a minha escola tivesse um sistema desse na net ^^ eu iria viver com 99,7/100

 

mas ele já fez muito para quem se diz iniciante , está de parabéns mas quem for pegar este script tente analizar e melhorar , não é sair vendendo ele que nem bobo não se não voce vai fazer lenha

 

a ideia ta ai , o projeto ta exelente , basta alguns ajustes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sil.Miranda

e este sistema for usado em rede local mesmo da escola é uma boa escolha , mas se for em internet é fria já que é possivel se utilizar de injeções de comandos sql no mesmo...

Pergunto?

 

Não é possível prever essas injeções de comandos sql e assim sendo, "imunizar" o sistema contra elas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pergunto?

 

Não é possível prever essas injeções de comandos sql e assim sendo, "imunizar" o sistema contra elas?

 

É possível sim meu caro, antes de fazer o INSERT, o ideal você é colocar isso:

 

$var = addslashes($_POST['var']);

a função addslashes é uma boa vacina contra sql-injection ... mas hoje em dia, o próprio MySQL e também o PHP se previnem sozinhos... mas é melhor você não confiar tanto e tornar seu código mais seguro.

 

E afinal, como anda esse SCCNA????

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Pergunto?

 

Não é possível prever essas injeções de comandos sql e assim sendo, "imunizar" o sistema contra elas?

 

É possível sim meu caro, antes de fazer o INSERT, o ideal você é colocar isso:

 

$var = addslashes($_POST['var']);

a função addslashes é uma boa vacina contra sql-injection ... mas hoje em dia, o próprio MySQL e também o PHP se previnem sozinhos... mas é melhor você não confiar tanto e tornar seu código mais seguro.

 

E afinal, como anda esse SCCNA????

 

Infelismente tive que dar uma parada... mais ainda irei retornar a esse tópico em breve

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.