Agora vamos criar as páginas que serão o front-end do usuário para a manipulação das
informações no banco de dados. Estou partindo do princípio que você conhece as tags de HTML
e o uso de formulários.
1° Html - Aqui vamos fazer a tela de cadastro de funcionários.
<!-- cadastrar.html -->
<html>
<title>Cadastrando de Funcionário</title>
<body>
<b>CADASTRO DE FUNCIONÁRIO</b>
<p align="justify">Preencha os campos abaixo:
<br>
NOTA: Lembre-se que este HTML será chamado ao final do script "obterdados.php", que repassará as informações que preencherão os campos do formulário através das variáveis $codigo, $nome, $cargo, $setor, chamadas a partir da tag do PHP <? echo $nome_variável ?>.
4° Html - Aqui vamos fazer a tela que será nossa página inicial.
[1] Comentário enviado por Ragen em 06/06/2004 - 22:19h
Muito show seu artigo... É simples e vai direto ao ponto.
As vezes comecamos a viajar em assuntos de nivel técnico relativamente alto e nos esquecemos que o pessoal que tá comecando só quer e precisa de exemplos simples.
[2] Comentário enviado por agk em 07/06/2004 - 10:16h
Nossa muito bom esse artigo, eu que estou começando em php achei d+, exemplos simples como esses é que nos permiter começar a aprender esse linguagem maravilhosa e aumentar nosso conhecimento na área.
[5] Comentário enviado por nanci em 01/07/2004 - 21:01h
É o melhor artigo PHP para iniciantes que já li. Sei que é complicado para programadores experientes entender quais são as nossas dificuldades. O Jeferson conseguiu explicar de maneira clara e com exemplos práticos.
[6] Comentário enviado por Hernando em 19/10/2004 - 14:21h
Dae brody... Salve Salve este artigo... caraca eu tava procurando algo do tipo há um tempão, pois me propus dar aula de php para um camarada e tava preparando esta aula hoje tu me salvou umas 2 horinhas de trampo... Valeu brody
[7] Comentário enviado por caduardo em 12/03/2005 - 11:52h
Olás estava fazendo teste com o artigo acima e não consigo editar pois sempre da registro não encontrado, mesmo fazendo as mudanças acima. E também qdo cadastro so cadastro o codigo o resto fica em branco. Olhe os logs do mysql
050312 11:51:40 173 Connect carlos@localhost on
173 Init DB meubanco
173 Query SELECT codigo, nome, cargo, setor
FROM funcionarios
WHERE nome LIKE '%%'
050312 11:53:49 157 Init DB meubanco
157 Query INSERT INTO funcionarios (nome, cargo, setor)
VALUES ('', '', '')
Tenho que fazer alguma mudança no html ou nos scripts??
[9] Comentário enviado por valteirsf em 22/05/2005 - 21:38h
Otimo artigo de PHP.
Começei a pouco tempo estudar PHP.
Com o sistema já pronto consegui enteder algumas coisas q não entedia.
Quando se ver ele funcionando dar pra enterder melhor com PHP funciona.
Aqui funcionou muito bem.
[12] Comentário enviado por lanux em 20/10/2006 - 15:30h
O meu enviardados.php não está funcionando. A entrada é criada na tabela, porém vazia, sem os dados enviados pelo cadastrar.html.
Por outro lado, se eu logar no mysql e enviar os dados "na mão" com INSERT INTO funciona legal.
Não sei mais onde procurar o erro! Alguma dica?
[13] Comentário enviado por jeffestanislau em 20/10/2006 - 20:45h
alega1977 e lanux,
Debuguem o sistema nesta linha do enviar dados.
Usem o comando echo e o exit para ir vendo o que acontece e ir parando a execução do script, como no exemplo abaixo:
[14] Comentário enviado por lavoie em 27/12/2006 - 12:02h
realizei os passos de acordo com o tutorial, so que nao eh adicionado nenhum usuarios, fiz o teste de acordo com o jeffestanislau pediu , e aparece o seguinte INSERT INTO funcionarios (nome, cargo, setor) VALUES ('', '', ''), nao funcionou, se alguem tiver uma dica ae valeu
[15] Comentário enviado por nandoxto em 07/01/2007 - 19:11h
Olá!
Eu trabalho numa ONG e estou fazendo um banco de dados para a mesma, eu fui fazendo os passos desse tutorial e gostei demais dele, porem está aparecendo um erro:
Fatal error: Call to undefined function: mysql_pconnect() in /var/www/config.php on line 9.
Estou precisando de ajuda.
Obrigado desde já.
[17] Comentário enviado por pxdelta em 11/01/2007 - 10:48h
Espero que o Jefferson informe se está ok...
Vamos a minha tese... kkk
Para que seja cadastrado os campos de nome, setor e cargo é precizo informar para o script enviardados.php quais são as variáveis do form no cadastrar.html que ele deve armazenar...
Que pega o que foi postado no form formCadastrarFuncionario e joga para as variáveis $nome, $cargo e $setor...
Assim o cadastro dos funcionários é efetuado com sucesso!!!
Da mesma maneira na busca
No arquivo obterdados.php após a linha
mysql_select_db('meubanco');
deve ser colocado mais uma linha
$busca=$_POST['buscar'];
para tando no arquivo buscar.html ficou assim
input type="text" name="buscar"
Ai a busca encontra o dado cadastrado..
Da mesma maneira no arquivo editardados.php após a linha
$update = "UPDATE funcionarios SET nome='$nome1', cargo='$cargo1', setor='$setor1' WHERE codigo='$codigo1'";
Perfeito é possivel editar os campos e salvar que funciona tudo corretamente...
..
Agora precizo de ajuda se alguem já viu mas se for cadastrado mais que 15 nomes o script não mostra a página 2 e dá erro na linnha
[18] Comentário enviado por nandoxto em 23/01/2007 - 18:36h
Olá Jefferson!
Consegui resolver o problema
Fatal error: Call to undefined function: mysql_pconnect() in /var/www/config.php on line 9.
Porém agora não consigo cadastrar outros funcionários.
As entradas nas tabelas ficam em branco.
Abraços.
[19] Comentário enviado por EnzOo em 19/04/2007 - 17:49h
Fala ae, ótimo artigo, só para complementar
Na parte onde tem:
/*descubra o número da página que será exibida se o número da página não for informado, definir 1 */
if (!$pagina) {
$pagina = 1;
}
vocês devem acrescentar o get para pegar quando clicar.
o código vai ficar assim.
/*descubra o número da página que será exibida se o número da página não for informado, definir 1 */
$pagina = $_GET[pagina];
if (!$pagina) {
$pagina = 1;
}
Muito bom, nem usei todas as partes, só o listar mesmo.
[21] Comentário enviado por gzanatta00 em 26/04/2007 - 19:55h
amigo é o seguinte tenho um servidor debian, e os arquivos do diretorio da minha pagina esta dentro de /var/www, certo...dai eu abro a pagina pelonavegador, por exemplo, ao inves dele abrir a pagina empresa.php, ele pede pra salvar, sei que tem que instalar um componente mas nao sei qual, ja tentei varios e nada
Gustavo
[22] Comentário enviado por leandro_hamid em 13/09/2007 - 15:29h
Boa tarde pessoal!
Antes de mais nada quero agradecer pelo ótimo artigo, eu estou me iniciando em PHP e este artigo para mim esta sendo de fundamental importância.
Eu testes os scripts do capítulo "4.Uso de função" e ao executar o script nova_funcao.php me deparei com o seguinte erro:
"Fatal error: Cannot redeclare soma() (previously declared in C:\xampp\htdocs\Treinamento\funcao.php:6) in C:\xampp\htdocs\Treinamento\funcao.php on line 6
"
O que pode ter acontecido?Eu retornei no scrip funcao.php renommiei a variável $resultado para $resultado_da_soma e mesmo assim não resolveu, aguardo respostas e desde já agradeço.
[23] Comentário enviado por fabiano_shark em 13/09/2007 - 15:47h
Como a própria descrição sugere, você provavelmente deve ter declarado a função duas vezes. Acontece muito quando você declara esta função em uma página e dá "include" noutra que também tem esta função.
[24] Comentário enviado por leandro_hamid em 13/09/2007 - 16:25h
Muito obrigado pela ajuda faviano_shark, me desculpe pela ignorâncaia mas eu ainda não consegui identificar o erro.
Não consegui ver onde eu declarei a função "soma" mais de uma vez, o que eu percebi é que fiz chamadas desta função como especificado no exemplo do respectivo capítulo, peço encarecidamente ajuda, abraço.
[25] Comentário enviado por leandro_hamid em 13/09/2007 - 16:52h
Oi pessoal!!!Pra variar posto mais uma dúvida, iniciante é foda!!!rrsrsr(brincadeira)
Testando as intruções sql a partir do capítulo 5.Criando um banco de dados para uso em nossos scripts, mais precisamente as instruções com relação a criação de usuários para aceso ao servidor eu executei a instrução:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
[26] Comentário enviado por albert86 em 21/07/2008 - 15:47h
leandro_hamid, eu tb estava com esse problema, e consegui resolver da seguinte maneira:
Veja que com o comando show fields from user; aparecia pra mim o seguinte:
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Password | char(41) | NO | | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Reload_priv | enum('N','Y') | NO | | N | |
| Shutdown_priv | enum('N','Y') | NO | | N | |
| Process_priv | enum('N','Y') | NO | | N | |
| File_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Show_db_priv | enum('N','Y') | NO | | N | |
| Super_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
+-----------------------+-----------------------------------+------+-----+---------+-------+
como vc pode ver há 26 termos do tipo enum('N','Y') , mais alguns outros. O que eu fiz então, foi acabar de preencher a instrução do insert da seginte maneira:
veja que eu coloquei 26 vezes 'Y', mais os ultimos campos preenchidos com seus valores default que vi na tabela acima. Ou seja, eu deixei o comando especificando todos os valores que na tabela teria que ser informada. Veja sua tabela com o comando show fields from user; e então preencha a instrução INSERT de modo a atender todos os seus campos.
[27] Comentário enviado por albert86 em 21/07/2008 - 15:50h
muito bom artigo jefferson. Eu lhe encorajo a dedicar-se na escrita de livros sobre as areas que vc curte. Vc tem uma boa didatica, e isso o levaria a ganhar um bom dinheiro com livros sobre informatica. É só uma dica mesmo. Você que decide. Mas talento pra tal vc tem. Parabéns!!!
[28] Comentário enviado por albert86 em 22/07/2008 - 13:44h
Estou com um probleminha no exemplo do referente artigo. Aparentemente eu estou conseguindo cadastrar os usuarios normalmente, mas quando visualizo os cadastros, o cadastro novo não aparece. Aparece sim um cadastro novo sem dados nenhum... ou seja, ele cria o cadastro só que não insere os dados nele. Aconteceu com alguém isso? e alguém sabe o que poderia ser esse probleminha??
[29] Comentário enviado por jeffestanislau em 22/07/2008 - 14:09h
albert86,
Vamos debugar seu código usando (echo e exit) nesta parte onde ele insere os dados no banco. Coloque assim:
No arquivo enviardados.php, insira um echo antes e um exit no fim da linha indicada.
//cadastrar cliente
echo $insert = "INSERT INTO funcionarios (nome, cargo, setor) VALUES ('$nome', '$cargo', '$setor')"; exit;
Desta forma, antes de inserir os dados ele irá te mostrar como está a query que irá fazer isso.
Verifique se os campos estão preenchidos corretamente. Caso não esteja, você deverá confrontar esta informação com o html que chama este arquivo, verificando os mesmos campos para saber se os nomes estão correlacionados corretamente.
Obs: Depois para o sistema voltar a funcionar, não esqueça de tirar o echo e o exit da linha especificada.
[30] Comentário enviado por albert86 em 22/07/2008 - 14:24h
então né jefferson... eu usei as dicas do pxdelta, e funcionou perfeito para o cadastro... mas ainda não esta funfando na hora de buscar um usuário... vou debugar sim na parte da busca, pra ver se os dados estão chegando como previsto... obrigado
[33] Comentário enviado por jarbasf em 14/07/2009 - 14:24h
jeffestanislau boa tarde, estou em dúvida quanto a consulta dos meus dados cadastrados. Veja bem, no meu banco eu preciso consultar entre datas, exemplo: "2009-06-01 a 2009-06-30" e também o código do funcionario, exemplo: 9999, tudo isso tudo numa página html.
-> Como eu criaria a tela de buscar.html?
-> O que poderia ser alterado no obterdados.php?
-> Devido ao grande volume de dados que seria visualizado, como ficaria a construção do editar.html?
[34] Comentário enviado por eduardosantiago em 24/07/2009 - 04:11h
Fala Rapa!!!
Cara, eu nâo sei nada de php mas como tenho q criar um página pra realizar testes de carga tô seguindo teu artigo. O meu nâo funcionou ainda. Ele nâo consegue adicionar. Tanto que na hora só aparece Principal e não diz se foi cadastrado com sucesso!!! O Que eu fiz de errado?
A unica coisa q eu fiz diferente foi criar o banco, tabela, inserir usuários.... tudo diretamente no phpadmin. Estou no aguardo!!!