Neste artigo será mostrada uma maneira de organizar e estruturar melhor o código fonte de um sistema desenvolvido em PHP utilizando conexão com banco de dados PostgreSQL.
Neste arquivo será mostrado como tratar os dados vindos do formulário e assim que tratados inserí-los no banco, bastando para isso incluir o arquivo executa.php, usando a função "include" do PHP e chamar a função executa().
O código abaixo deve ser salvo com o nome: cadastrar.php
<?php
//Verifica se existe o arquivo executa.php para poder incluí-lo
if (file_exists("executa.php")){
include("executa.php");
}
if (!file_exists("executa.php")){
$msgErro = "<center><font color='#FF0000'><b>";
$msgErro .= "Não será possível executar nenhuma ação no Banco de Dados!<br>";
$msgErro .= "Porque não existe o arquivo 'executa.php'.";
$msgErro .= "</b></font></center>";
echo "<br><br>";
echo $msgErro;
echo "<br>";
exit;
}
//recebendo os dados do formulário
$nome = $_POST['nome'];
$cpf = $_POST['cpf'];
if ($cpf == ""){
echo "<center>O CPF de ser informado!</center>";
echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'javascript:history.go(-1)'></center>";
}
if ($nome == ""){
echo "<center>O nome de ser informado!</center>";
echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'javascript:history.go(-1)'></center>";
}
//Montando a String de SQL
$Sql = "Insert into tabela(nome, cpf) values('$cpf', '$nome')";
//Chamando a função, e passando como parâmetro a String de SQL
$Resultado = executa($Sql);
if ($Resultado){
echo "<center>Cadastro efetuado com sucesso!</center>";
echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'javascript:history.go(-1)'></center>";
}
?>
Conclusão
Este cenário parece simples se tratando de um pequeno formulário de cadastro, mas se o seu código fonte for um pouco extenso e não estiver bem organizado e o sistema for um pouco complexo, essa simples organização pode ser muito útil no futuro.
Espero que este artigo tenha contribuído com algo a mais para o seu conhecimento.
[1] Comentário enviado por cvs em 14/06/2006 - 11:24h
Olha só quem eu encontro por aqui... E ae rapaz, bom? Hehehe... Estudo com você, pego SAD na mesma sala, sou o Thiago... interessante o artigo, vai ajudar num serviço aqui no trampo... mas eu preferiria mysql... hehehe
[4] Comentário enviado por removido em 14/06/2006 - 14:38h
falaaaaaaaaaa sr: Celio, legal seu artigo, muito bom ter lembrado de sempra fechar a conexão com o banco de dados, assim evita PhP Injection , o que pode ocasionar façanhas com codigos arbitrarios.
[5] Comentário enviado por sodeboa em 14/06/2006 - 20:25h
E ai meu brother só de boa ? legal seu artigo quando tiver mais um tempinho vou mexer nessa parada com mais detalhes qualquer duvida coloca aqui flw um abraço.
[8] Comentário enviado por sergioramiro em 14/09/2006 - 18:09h
Sr. Célio:
Estou seguindo ao pé da letra suas instruções, mas por algum motivo estou recebendo apenas mensagem de erro do meu servidor. favor veja a mensagem a seguir:
Fatal error: Call to undefined function: pg_connect() in C:\Inetpub\wwwroot\Governo\secretarias\codin\teste\conecta.php on line 2
quando eu passo estes parametros:
$conectabd = pg_connect("dbname= DbTeste port=5432 host = 10.1.0.202 user = sa password = pataconcio");
[9] Comentário enviado por gzanatta00 em 03/05/2007 - 19:58h
amigo é o seguinte eu quero executar um php com parametros por exemplo www.site.com.br/cadastro.php?codigo=1&nome=Gustavo
mas ele funciona a cadastro.php, mas dentro do registro ele nao esta conseguindo pegar as variaveis $codigo e $nome
[11] Comentário enviado por gzanatta00 em 24/05/2007 - 21:37h
esse paramentro é assim, eu tinha ele em outro servidor, e agora estou tentando trazer para este novo, e na proxima pagina ele iria pegar com o comando $codigo = ${"codigo"}
so que nao ta recebendo, ,eu acho q ta faltando algum componente para isso....vc saberia?
é a mesma coisa q acontece no http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4525, eu precisaria pegar o valor ex: 4525
[12] Comentário enviado por virlei em 13/08/2007 - 14:11h
Prezado Célio,
Parabéns pelo excelente artigo. Serviu-me de guia para projetar uma solução PHP+Postgresql.
Apenas um detalhe: no arquivo cadastrar.php, a instrução SQL está com os campos e valores associados invertidos. Assim, a linha
$Sql = "Insert into tabela(nome, cpf) values('$cpf', '$nome')"
deve ser trocada para
$Sql = "Insert into tabela(nome, cpf) values('$nome', '$cpf')"
[13] Comentário enviado por celiojs em 14/08/2007 - 00:06h
Olá Virlei,
Saber que serviu de base para alguém é o que nos motiva a construir trabalhos assim.
Agradeço pela observação feita nesta parte do artigo.
Em breve estarei publicando um artigo mais avançado.
Desde já agradeço.
Célio