PHP com PostgreSQL - Estruturando a conexão

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.

[ Hits: 95.482 ]

Por: Célio de Jesus Santos em 14/06/2006 | Blog: http://www.cjs.eti.br/


Gravando no banco de dados



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.

Célio de Jesus Santos
celio_dejesus@yahoo.com.br

Página anterior    

Páginas do artigo
   1. Introdução
   2. Criando um simples formulário de cadastro
   3. Criando o script de conexão com o banco de dados
   4. Criando a função que executa as operações no BD
   5. Gravando no banco de dados
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Armazenando datas de uma outra forma

Oracle 9i, Apache e PHP

Paginando resultados com a classe Generic Easy Pagination

Executando comandos DML em base de dados MySQL através do Eclipse PHP (Bônus: Temas e Fontes no Eclipse)

Sistema PDV com PHP-GTK2 e ACBrMonitor (parte 2)

  
Comentários
[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


valeu.

[2] Comentário enviado por amauripump em 14/06/2006 - 11:32h

muito bem célio... vai me ser muito útil no projeto da agenda!
rs
valeu celio... falou
Amauri...

[3] Comentário enviado por celiojs em 14/06/2006 - 11:37h

Thyago,
O que vai alterar neste exemplo para o MySQL é apenas as funções específicas do mesmo. No mais vai funcionar perfeitamente.
Até mais,

[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.


abraços.

[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.

[6] Comentário enviado por dhoko em 15/06/2006 - 02:24h

Muito boa dica de organização!

fazer um arquivo/função para pegar as querys,, muito bom!

[7] Comentário enviado por wanderleihuttel em 16/06/2006 - 13:21h

Muito bom mesmo, simples e funcional.
Já dá para uma noção de como conectar com o BD.
Valeu
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");

Será que o sr. pode me ajudar??

[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

me da uma luz ai companheiro

[10] Comentário enviado por celiojs em 03/05/2007 - 21:58h

É o seguinte:

pra você obter esses valores passados por URL você usará o método
$codigo = $_GET["codigo"];
$nome = $_GET["nome"];

ou Assim:

$codigo = $_REQUEST["codigo"];
$nome = $_REQUEST["nome"];

Fazendo isso creio que funcionará.

Espero ter ajudado.

Célio

[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')"

Saudações

[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

[14] Comentário enviado por brunoestevao em 12/03/2008 - 14:55h

Olá a todos.

Serviu bastante. Adorei seu script.

Abraços

Bruno Estêvão
www.sempihost.com.br
Hospedagem de sites com 30 dias grátis


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts