Toda programador seja ele iniciante ou experiente certamente já teve a intenção de desenvolver (ou já desenvolveu) algum sistema para cadastro de clientes, envio de orçamento, controle de estoque, controle financeiro, entre outros.
Se seguirmos a lógica do que encontramos em um sistema feito em delphi ou em java, certamente o faremos com perfeição!
O problema é que por encontrar algumas dificuldades no desenvolvimento, alguns deixam de lado suas metas e não concluem tais atividades.
Hoje estaremos lhe mostrando como elaborar um sistema de orçamento online prático e fácil de usar.
Até para que você possa entender passo a passo o que elaboramos, vamos detalhar seu funcionamento nesta e na matéria seguinte, postando também o código fonte no final da segunda edição:
Como Criar Sistema De O.S. / Orçamentos Parte2
O Diferencial De Nosso Sistema
O sistema de orçamento online é destinado à emissão de ordens de serviço para empresas de todos os portes, sejam elas de pequeno, médio ou grande porte.
O diferencial de usar este ao invés de outros sistemas encontrados no mercado é que ele facilita seus serviços e não há muita dificuldade na hora de se alterar os dados da empresa.
Estrutura Do Sistema
Antes de criarmos as tabelas, explicar como funciona a configuração do arquivo que fará a conexão à base de dados, veja abaixo como funciona nossa estrutura:
Explicando:
- action: Será o diretório onde estarão guardados os arquivos de configuração e validação.
- imagens: Será o diretório onde guardaremos todas as imagens do sistema.
- scripts: Guardaremos neste diretório os ficheiros em “.css”.
- session: guardaremos neste diretório os arquivos de logout validação (se a estrutura está logada).
- tpls: Guardaremos neste diretório os templates padrão (que poderão ser melhorados de acordo com sua necessidade).
Criando As Tabelas Na Base De Dados:
Antes de qualquer coisa, vamos criar as tabelas na base de dados!
Para configurar a base de dados através do script, abra o ficheiro script-sql.txt e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados (conforme informações a seguir).
CREATE TABLE `dados_empresa` (
`id_empresa` int(11) NOT NULL auto_increment,
`nome_empresa` varchar(255) NOT NULL default '',
`nome_fantasia` varchar(255) NOT NULL default '',
`cnpj` varchar(25) NOT NULL default '',
`insc_estadual` varchar(20) default NULL,
`endereco` varchar(255) NOT NULL default '',
`numero` varchar(10) default NULL,
`complemento` varchar(50) default NULL,
`bairro` varchar(150) NOT NULL default '',
`cidade` varchar(150) NOT NULL default '',
`estado` varchar(150) NOT NULL default '',
`pais` varchar(150) NOT NULL default '',
`cep` varchar(15) default NULL,
`ddd_fone` varchar(5) default NULL,
`fone` varchar(15) default NULL,
`ddd_fone_filial` varchar(5) default NULL,
`fone_filial` varchar(15) default NULL,
`ddd_cel` varchar(5) default NULL,
`fone_celular` varchar(15) default NULL,
`url` varchar(255) default NULL,
`email_comercial` varchar(150) default NULL,
`email_suporte` varchar(150) default NULL,
`email_financeiro` varchar(150) default NULL,
`email_desenvolvimento` varchar(150) default NULL,
`email_vendas` varchar(80) default NULL,
`email_rh` varchar(150) default NULL,
`endereco_skype` varchar(15) default NULL,
`endereco_msn` varchar(150) default NULL,
`palavraschave` varchar(255) default NULL,
PRIMARY KEY (`id_empresa`)
);
INSERT INTO `dados_empresa` VALUES (1,'WebMaster.PT','S.O. Orçamento Online','','','','','','','Campinas','São Paulo','Brasil','','19','3387-5956','19','3037-1648','','','http://webmasterphp.org/OS/','','suporte@empresasnainternet.com.br','','','','','','','OS, Servico, ordem servico');
CREATE TABLE `tbl_os` (
`os_id` int(11) NOT NULL auto_increment,
`cliente` varchar(255) NOT NULL default '',
`email` varchar(120) NOT NULL default '',
`servico` varchar(255) NOT NULL default '',
`detalhes` text NOT NULL,
`custo` int(11) NOT NULL default '0',
`forma` text,
`metodo` varchar(255) default NULL,
`venc` varchar(60) NOT NULL default '',
`prazo` varchar(80) NOT NULL default '',
`garantia` varchar(60) NOT NULL default '',
`data` date NOT NULL default '0000-00-00',
`status` int(11) NOT NULL default '0',
`hash` varchar(80) default NULL,
`dtass` varchar(12) default NULL,
`hrass` varchar(12) default NULL,
PRIMARY KEY (`os_id`)
);
INSERT INTO `tbl_os` VALUES (2,'Quemuel - Teste','comandosusa@gmail.com','Consultoria Especializada','lorem ipsum dolor',5000,'A vista','Boleto Bancário','15/05/2011','30 DIAS','60 DIAS','2010-08-29',0,NULL,NULL,NULL);
CREATE TABLE `tbl_usuarios` (
`usuarios_id` int(11) NOT NULL auto_increment,
`usuarios_nome` varchar(255) default NULL,
`usuarios_username` varchar(80) default NULL,
`cod` varchar(80) default NULL,
`usuarios_email` varchar(80) default NULL,
`usuarios_email2` varchar(80) default NULL,
`usuarios_endereco` varchar(255) default NULL,
`usuarios_numero` varchar(10) default NULL,
`usuarios_complemento` varchar(80) default NULL,
`usuarios_bairro` varchar(80) default NULL,
`usuarios_cidade` varchar(150) default NULL,
`usuarios_estado` varchar(150) default NULL,
`usuarios_pais` varchar(255) default NULL,
`usuarios_cep` varchar(15) default NULL,
`usuarios_ddd` varchar(5) default NULL,
`usuarios_fone` varchar(10) default NULL,
`usuarios_dddfoneres` varchar(5) default NULL,
`usuarios_foneres` varchar(10) default NULL,
`usuarios_dddcel` varchar(5) default NULL,
`usuarios_fonecel` varchar(10) default NULL,
`usuarios_data_nasc` varchar(5) default NULL,
`usuarios_mes_nasc` varchar(5) default NULL,
`usuarios_ano_nasc` varchar(5) default NULL,
`usuarios_sexo` varchar(15) default NULL,
`usuarios_tipo` varchar(5) default NULL,
PRIMARY KEY (`usuarios_id`)
);
INSERT INTO `tbl_usuarios` VALUES (3,'ADMINISTRADOR','admin','21232f297a57a5a743894a0e4a801fc3','comandosusa@gmail.com','comandosusa@yahoo.com.br','Rua Albertino Ridrigues','50','Fundos','Jd. Santa Lúcia','Campinas','São Paulo','Brasil','13060541','19','3233-3917','','','19','9683-5956','04','07','1977','0','a');
OBS.: Os dados de acesso à central de gerenciamento são:
Login: comandosusa@gmail.com
Senha: admin
Após configurar as tabelas na base de dados, acesse o diretório "action" e altere o ficheiro config.php (conforme instruções abaixo).
$database = "SERVIDOR";
$dbname = "BASEDEDADOS";
$usuario = "USUARIO";
$dbsenha = "SENHA";
Após alterar as linhas contendo as informações a seguir, feche o ficheiro e faça um teste de acesso.
Telas Do Sistema
Vamos conhecer um pouco mais cada tela?
Tela 01: Tela de Login
Tela 02: Página Principal
Tela 03: Dados da Empresa
Tela 04: Informações do Administrador
Tela 05: Cadastro de Ordem de Serviço
Tela 06: Apresentação das Ordens de Serviço
Tela 07: Cadastro de Administrador
Tela 08: Apresentação dos Administradores
Bem... na matéria a seguir, estaremos postando outros ficheiros e explicando um pouco mais sobre a funcionalidade deste sistema.
Aguarde nossa próxima edição e ao final da matéria, faça download dos ficheiros para teste.
A Parte2 do tutorial inclui o código para download e será publicada esta semana.
Antes de efectuar o download do código, preste atenção para o seguinte:
O código da base de dados está no ficheiro script-sql.txt. O login é comandosusa@gmail.com. A password é admin. Para alterar a password, abra o ficheiro script-sql.txt e procure:
INSERT INTO `tbl_usuarios` VALUES (3,'ADMINISTRADOR','admin','admin','comandosusa@gmail.com'
Altere esse email e os restantes para o seu email.
49 Responses
Ansioso pela continuação! Parabéns
Olá Quemuel Aquino !
Não consigo acessar…quais os dados para entrar no sistema…?
Olá Paulo! Já experimentou Login: comandosusa@gmail.com Senha: admin Um Abraço! Rui Soares
O login e password são Login: admin – Senha: admin. Um Abraço! Rui Soares
O problema reside no ficheiro validar.php onde na linha :
$query_validar = "select * from tbl_usuarios where usuarios_email ='$login' and usuarios_password = '$senha'";
não existe o campo usuarios_password!
Olá Romeu! Vou pedir ao Quemuel para verificar. Um Abraço! Rui Soares
Olá Pessoal,
Para acessar, utilize os dados a seguir:
Login: comandosusa@gmail.com (se você quiser, altere na base de dados para seu email);
Senha: admin
OBS.: Os critérios de acesso podem ser alterados no ficheiro validar.php (conforme o Romeu comentou acima), mas fica a critério de cada Internauta.
No ficheiro enviado (na segunda parte da matéria), está com o Login (comandosusa@gmail.com) e a senha (admin).
Qualquer coisa estou a disposição.
Abraço,
Quemuel Aquino
Olá Quemuel Aquino !
Não consigo acessar…quais os dados para entrar no sistema…? o que tem que alterar no código ou no banco ???
Olá Walmor! Leia por favor o comentário do Quemuel neste mesmo artigo. Cito: "Para acessar, utilize os dados a seguir: Login: comandosusa@gmail.com (se você quiser, altere na base de dados para seu email); Senha: admin " Um Abraço! Rui
Parece-me que na tabela tbl_usuarios, como referiu o Romeu, o campo correto é usuarios_password em vez de cod. Nem entendo porque razão o Quemuel colocou cod, quando estava a usar usuarios_*** para todos os restantes campos. Você tem acesso a uma ferramenta de gestão do MySQL? Altere o campo cod para usuarios_password. E no ficheiro validar.php, neste trecho de códig: $query_validar = “select * from tbl_usuarios where usuarios_email =’$login’ and usuarios_password = ‘$senha'”; altere where usuarios_email para where usuarios_username. O username é admin e a password é admin. Não consigo corrigir e testar agora. Mas, daqui a algumas horas atualizo o tutorial. Rui Soares
Caro amigo Rui fiz as alterações que você falou e funcionou o sistema…. … muitas alegrias, paz, tranquilidade e sucesso … muito obrigado e que Deus te abençõe … porque você já é uma pessoa iluminada….
Olá Walmor! Eu é que peço desculpa pelo erro no tutorial. Hoje, vou corrigir. O script parece-me muito útil. Espero que você goste. Um Abraço! Rui Soares
O ficheiro para download foi atualizado. Agora os dados de acesso são: O login é comandosusa@gmail.com. A password é admin.. O código da base de dados está no ficheiro script-sql.txt. O Para alterar a password, abra o ficheiro script-sql.txt e procure: INSERT INTO `tbl_usuarios` VALUES (3,'ADMINISTRADOR','admin','admin','comandosusa@gmail.com'. Altere esse email e os restantes para o seu email. Um Abraço Rui Soares
alterei, mas não consigo entrar mais. usuário ou senha invalidos
Oi Rui Soares
Não consigo acessar…quais os dados para entrar no sistema…? o que tem que alterar no código ou no banco ??? estes usuario e senhas que você colocou como resposta ai em cima estão errados … não acessa dá erro de usuário e senha ….
Olá Walmor. Eu tenho o script instalado e funcional. Deixa-me ver isso amanhã e depois respondo. Na conta que eu testei, a entrada acho que era admin admin. Mas, eu respondo amanhã com os dados certos. E depois atualizo o tutorial e coloca essa informação em destaque. Um Abraço! Rui Soares
Caro amigo Rui ontem eu te disse que o sistema estava funcionando porque eu consegui acessar com o login e a senha admin – admin porém fiquei decepcionado quando tentei cadastrar uma ordem de serviço e quando cliquei para cadastrar ficou numa tela branca e não cadastrou nada de ordem de serviço….. ai tem que voltar para a tela anterior e se vê que não gravou a ordem de serviço… dá uma olhadinha e faz um teste… obrigadão…
Olá Walmor! Aquilo que pedimos especificamente ao Quemuel foi um script que funcionasse em LAMP. Foi testado num servidor Linux, com PHP5 e MySQL5. Vou verificar. Rui Soares
Comigo aconteceu o mesmo… aparentemente está tudo funcionando, somente o cadastro de uma nova ordem, ao clicar no botão para confirmar o cadastro exibe uma tela em branco e o cadastro não é realizado. Já há uma solução para isso? Obrigado. E parabéns pelo sistema… gostei muito!
Também aconteceu comigo… Achei o máximo o sistema.. Pena que não cadastrou as OS
Alguem consegiu resolver? este problema de nao gravar o Orçamento?
Não teria como colocar junto um login de clientes para que eles pudessem ver como anda a os?
tem algum arquivo que mostra pra pessoa fazer orçamento?
precisava de um parecido com issso sabe onde posso achar pois nao sei nada de php,apenas fuçoç umas coisas e um amigo meu me pediu pra montar um sistema pra ele ms como nao sei ,recorri aqui no site,ep parabens pelo site, o sistema é esse aqui http://camarlocacao.com.br/locacao.php vi que e parecido com esse de cima mas nao achei a pagina onde a pessoa faz pedido
Bom dia … Perfeito poderia postar todo o codigo fonte por favor ficou muito bom mesmo
sensacional script
muito bom parabens
Eu preciso de uma ajuda para tipo quando fazer a os ele imprimir a os gerar um pdf algo assim tem como?
Olá pessoal tentei de varias formas mas não deu certo
e aparece um erro assim
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/divicity/public_html/os/ficheiros/OS/action/config.php on line 26
ops, consegui vlw… era só importar o o arquivo "script-sql.txt" no banco de dados heheheee
Estou começando php essas atividades ainda é bem avançadas pra mim
mas vcs estão de parabens…
vlw Quemuel
gostaria de saber como faço primeiro acesso so novo em sistema
Olá pessoal, estou tendo mesmo problema com o cadastro de OS, todo o mais funciona perfeitamente, realmente uma iniciativa muito boa, bem explicado e bem trabalhado, tentei corrigir o problema com o cadastro, mas não tive susseço até agora se alguém puder nos ajudar seria formidável, mais uma vez, parabéns.
Parabens pelo sistema, muito bonito e muito bom tbem..
alguns errinhos mais tudo que possa ser resolvido..
obg
Olá pessoal, gostaria de saber se corrigiram os bugs por exemplo parece que o sistema não reconhece as varáveis/strings do php e escreve tudo diretamente nos campos do form como quando vou em alterar uma os os campos já estão assim<?echo= "os_id"?> entende? e quando tento cadastrar uma nova OS o sistema não salva nada como posso resolver? alguem já conseguiu?
Como faço para criar um Sistema de Orçamento Online. estou iniciando agora…
Por favor, me ajude…grato.
olá gostaria de criar um banco de dados para meu site, onde o cliente entra com seu numero de (os)e encontra o seu orçamento, mas não entendo nada de php,estou disposto a pagar,alguem pode me ajudar.
Si tiver como me orientar, creio que esteje com problema de conexao de banco de dados!
Olá pessoal, gostaria de saber se corrigiram os bugs por exemplo parece que o sistema não reconhece as varáveis/strings do php e escreve tudo diretamente nos campos do form como quando vou em alterar uma os os campos já estão assim<?echo= "os_id"?> entende? e quando tento cadastrar uma nova OS o sistema não salva nada como posso resolver? alguem já conseguiu?
Olá gostaria de receber os arquivos, corrigidos! tem como alguem me mandar. ? yago almeida@outlook.com.br
Cara, gostei muito desse seu layout. Como estou tentando fazer um sistema parecido com este, seria possível encaminhar os código fonte do das paginas?
Alo Aquino foi com muito prazer que encontrei o teu blog. Tou muito imprecionado com temas que tens postado cada vez mais. Sou pricipiante na area de webdesign, tou atentar criar meu blog, usando Wepacappella, so que acho que e muito limitado, ainda mais nao da-me opcao de inserir formulario em php. Podes me aconselhar a usar um outro qual? Gostaria que me enviasses um link para download. Obrigado
Alo pessoal gostaria que me enviassem o link para download de codico para "Como Criar Sistema De O.S. / Orçamentos Parte1" que voces publicaram.
Obrigado
Quemuel Aquino
Boa Noite
Gsotaria de saber voce poderia me ajudar a resolver este problemas abaixo.
( ! ) Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:wampwwwOSactionconfig.php on line 10
Call Stack
#TimeMemoryFunctionLocation
10.0010247304{main}( )..validar.php:0
20.0010264280include( 'C:wampwwwOSactionconfig.php' )..validar.php:3
30.0010265008mysql_connect ( )..config.php:10
( ! ) Notice: Use of undefined constant id – assumed 'id' in C:wampwwwOSactionvalidar.php on line 17
Call Stack
#TimeMemoryFunctionLocation
10.0010247304{main}( )..validar.php:0
( ! ) Notice: Use of undefined constant nome – assumed 'nome' in C:wampwwwOSactionvalidar.php on line 18
Call Stack
#TimeMemoryFunctionLocation
10.0010247304{main}( )..validar.php:0
Quemuel Aquino
( ! ) Notice: Use of undefined constant login – assumed 'login' in C:wampwwwOSactionvalidar.php on line 19
Call Stack
#TimeMemoryFunctionLocation
10.0010247304{main}( )..validar.php:0
( ! ) Notice: Use of undefined constant cod – assumed 'cod' in C:wampwwwOSactionvalidar.php on line 20
Call Stack
#TimeMemoryFunctionLocation
10.0010247304{main}( )..validar.php:0
( ! ) Warning: Cannot modify header information – headers already sent by (output started at C:wampwwwOSactionvalidar.php:19) in C:wampwwwOSactionvalidar.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0010247304{main}( )..validar.php:0
20.0220292984header ( )..validar.php:22
alguem por acaso ja tem o OS corrigido?
Agradecia partilha.
Cumprimentos
Oi amigo. Gostei muito desse mini-site. Agora só queria uma coisa, colocar uma logo e adicionar um botão pra enviar orçamento pra minha impressora? tem como? Está de parabéns por seu tutorial. Me ajudou muito.
Primeiramente , muito obrigado pela colaboração, me ajudou muito.
Amigão, corrigi todo teu código e deixei ele já adaptado pro php novo. Fiquei bastante decepcionado pela falta de imagens e arquivos js, css, htmlarea dentre outros. Queria te passar o projeto certinho, e também gostaria de receber as imagens que estão faltando. Me manda um e-mail pra mantermos contato. Abraço!
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Esta apresentando este erro para mim.
Muito bom o artigo. Paraéns pela didática.
Boa tarde!
Estou tendo um problema onde ao tentar logar com o usuário e senha (admin, admin) o mesmo me retorna uma mensagem dizendo Dados de acesso inválidos. Já fiz as alterações que foram solicitadas nos arquivos config e validar dentro da pasta action e o problema persiste. Fico no aguardo.
Atenciosamente,
Ola, como faço para montar esse programa? que ferramenta devo usar?
Olá Rui Soares, funciona em localhost?
Ainda temos mais algo sobre o sistema?