BD, PHP, SQLite

Ferramenta para gerenciamento de bases SQLite – phpLiteAdmin

phpLiteAdmin é uma ferramenta de administração de banco de dados SQLite baseada em web, escrito em PHP com suporte para SQLite2 SQLite3, distribuída sobre GNU GPL v3.
Seguindo a simplicidade usada pelo SQLite, phpLiteAdmin consiste em um único arquivo de aproximadamente 100KB, acessada por  um navegador.
A instalação é tão simples como especificar quais bancos de dados serão gerenciados e criar uma senha. As operações disponíveis, conjunto de recursos, interface e experiência do usuário é comparável ao do phpMyAdmin.

Um ponto interessante da ferramenta, é o fato de a mesma ser tão minimalista e permissiva em relação a sua licença de uso, que a mesma pode ser distribuída junto com sua aplicação.

Endereço do projeto:

http://code.google.com/p/phpliteadmin/

Para saber mais sobre SQLite:

http://pt.wikipedia.org/wiki/SQLite

Mais ferramentas administrativas para SQLite:

http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

PHP

Exemplo de conexão PHP – PDO – MySQL / SQLite

The SQLite logo as of 2007-12-15
Image via Wikipedia

Aplicação simples de conexão aos bancos de dados MySQL e SQLite, utilizando PDO , com a finalidade de verificar o funcionamento da camada de abstração de banco de dados e suas facilidades.

Abaixo, código fonte:

<?php

$mysql = "mysql:host=localhost;dbname=pdo";
$username = "root";
$passwd = "passwd";
$sqlite = "sqlite:pdo.db";

// Para conectar ao mysql, descomente a linha abaixo
// $pdo = new PDO($mysql, $username, $passwd);

// conexão ao sqlite
$pdo = new PDO($sqlite);

$execucao = $pdo->prepare("select * from cadastro");

$execucao->execute();

while ($row = $execucao->fetch()) {

    $id = $row['id'];
    $nome = $row['nome'];
    $email = $row['email'];

    echo $id . " - ", $nome . " - ", $email . "<br>"; }?>

Para download do código e base de dados utilizados no exemplo, basta seguir o link abaixo:

http://www.4shared.com/file/7JcfkQPw/exemplo_pdo_mysql_sqlitetar.html

Boa sorte.

CakePHP, Cod. Fonte

Código fonte de aplicação básica CakePHP

a version of the logo of the web application f...
Image via Wikipedia

Código fonte de aplicação básica desenvolvida sobre framework CakePHP.

A aplicação consiste em um site básico com implementação de layout CSS e formulario de e-Mail com validação.
A mesma não é e nem pretende ser modelo de uma aplicação CakePHP, consistindo de experimentações com o framework, baseadas em consultas na web.

O mesmo é uma compilação dos seguintes posts:

  1. https://blogetilico.wordpress.com/2011/08/18/criacao-de-layouts-cakephp-introducao-ao-cakephp-para-web-designers/ 
  2. https://blogetilico.wordpress.com/2011/08/20/aplicando-estilos-css-cakephp/
  3. https://blogetilico.wordpress.com/2011/09/27/formulario-de-envio-de-e-mail-com-validacao-cakephp/
Caso se interesse, você é livre para baixar, visualizar, alterar e disponibilizar todo o conteúdo.
Link para o arquivo:
CakePHP, PHP

Formulário de envio de e-Mail com validação – CakePHP

CakePHP
Image via Wikipedia

Criação de um simples formulário de e-mail, utilizando o sistema de validação do Cakephp.

Utilizaremos como base, a aplicação desenvolvida nos posts:

  1.  Criação de layouts CakePHP – Introdução ao CakePHP para Web Designers.
  2. Aplicando estilos CSS – CakePHP.

Criaremos a seguinte estrutura de diretórios:

  • /app/views/contacts

Crie no diretório /app/controllers, um arquivo com extensão .php e atribua o nome contacts_controller e insira no mesmo o seguinte conteúdo:

<?php
class ContactsController extends Controller {
    var $components = array('Email');
    function send() {
        if(!empty($this->data)) {
            $this->Contact->set($this->data);
            if($this->Contact->validates()) {
                if(!empty($this->data['Contact']['company'])) {
                    $this->Email->from = $this->data['Contact']['company'] . ' - ' . $this->data['Contact']['name'] . ' <' . $this->data['Contact']['email'] . '>';
                } else {
                    $this->Email->from = $this->data['Contact']['name'] . ' <' . $this->data['Contact']['email'] . '>';
                }
                $this->Email->to = 'emaildestinatário@dominio.com.br';
                $this->Email->subject = 'texto cabeçalho e-Mail';
                $this->Email->send($this->data['Contact']['message']);
                $this->render('success');
            } else {
                $this->render('index');
            }
        }
    }
    function index() {
    }
}

No controller, setaremos a utilização do componente email e definir os parâmetros de envio.

No diretório /app/models, crie um arquivo com extensão .php e de ao mesmo o nome de contact e insira o seguinte conteúdo:

<?php
class Contact extends AppModel {
    var $name = 'Contact';
    var $validate = array(
        'name' => array(
            'rule' => 'notEmpty',
            'message' => 'O campo Nome é obrigatorio.'
        ),
        'email' => array(
            'rule' => 'email',
            'message' => 'O campo e-Mail é obrigatório.'
        ),
        'message' => array(
            'rule' => 'notEmpty',
            'message' => 'O campo Motivo do contato é obrigatório.'
        )
    );
}
?>

O model, vai determinar quais campos serão validados.

No diretório /app/views/contacts, serão criados dois arquivos com extensão .ctp, abaixo, o conteúdo a ser inserido nos respectivos arquivos:

index.ctp – O formulário apresentado para o utilizador – “$content_for_layout”

<p>Utilize o formulário abaixo para entrar em contato.</p>
<?php echo $this->Form->create('Contact', array('action' => 'send')); ?>
<table style="border:none;">
    <tr>
        <td>Nome</td>
        <td><?php echo $this->Form->input('Contact.name', array('label' => false, 'maxlength' => 100, 'size' => 40)); ?></td>
    </tr>
    <tr>
        <td>Empresa</td>
        <td><?php echo $this->Form->input('Contact.company', array('label' => false, 'maxlength' => 100, 'size' => 40)); ?></td>
    </tr>
    <tr>
        <td>e-Mail</td>
        <td><?php echo $this->Form->input('Contact.email', array('label' => false, 'maxlength' => 100, 'size' => 40)); ?></td>
    </tr>
    <tr>
        <td style="vertical-align: top;">Motivo do contato</td>
        <td><?php echo $this->Form->input('Contact.message', array('label' => false, 'cols' => 50, 'rows' => 10)); ?></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><br><?php echo $this->Form->end('Enviar e-Mail'); ?></td>
    </tr>
</table>

success.ctp – Mensagem de retorno após envio dos dados.

<?php
echo $this->Session->flash();
?>
<p>Obrigado, Em breve estarei retornando seu contato.</p>

No arquivo default.ctp, encontrado no diretório /app/views/layouts, altere a linha:

<?php echo $html->link('Contato', array('controller' => 'pages', 'action' => 'contato')); ?>

Para:

<?php echo $html->link('Contato', array('controller' => 'contacts', 'action' => 'index')); ?>

Delete o arquivo contato.ctp, presente no diretório: /app/views/pages.

Para saber mais sobre componente Email:

http://book.cakephp.org/pt/view/1283/Email

Para saber mais sobre Validação de dados:

http://book.cakephp.org/pt/view/1143/Valida%C3%A7%C3%A3o-de-dados

Para saber mais sobre FormHelper:

http://book.cakephp.org/pt/view/182/Form

Boa sorte.

CakePHP

Aplicação CakePHP sem utilização de banco de dados

Para que módulos de sua aplicação que não contenham acesso a banco de dados não apresentem erros, basta editar os models e seus determinados controllers.

Nos models, declarar e atribuir false a variável useTable:

var $useTable = false;

Nos respectivos controllers, declarar a variável uses, atribuindo Array():

var $uses = array();

De qualquer forma, caso não haja nenhum requisito de acesso a banco, seu  arquivo database.php deverá ser criado, mas não há necessidade de configurar acesso.

Boa sorte.