Java PHP Javascript C/C++

Login de dominio de Internet PHP

    A utilização de scripts PHP na rede internet e a sua funcionalidade por meios de iPad, iPod além do microcomputador tradicional tem como seu uso o login em páginas de internet que fornecem acesso a usuários cadastrados em um website.      Outros scripts em PHP tratam da criptografia de dados, envio de mensagens de correio eletrônico através de formulários em páginas html, conecção com banco de dados como por exemplo o MySql, inclusão de registro de cadastro e retorno de consultas de dados em um database entre uma variede de outras funções que podem ser encontradas nas literaturas a venda e na sua própria homepage do PHP .   A sua versão PHP atual é a de número 5.

    O processo de login funciona em duas etapas estabelecendo uma relação Cliente e Servidor em que uma parte do script em uma página html, usando os recursos de formulário do próprio HTML como o tag form por exemplo:

form action = "http://www.acessorelacional.com.br/php/loginpagina.php" method = "post"


    A outra parte do lado do servidor consistirá do programa server do modulo do PHP (php.exe, php-cgi.exe) onde um arquivo necessariamente com a extensão PHP consistinto de um script na linguagem de programação PHP é responsável pelo processo de requisição deste serviço ao servido; neste caso o arquivo login.php junto com os dados do campo do formulário da página HTML tag input exemplo:

input type = "text" name = "username" placeholder="Nome do usuario" required
input type = "password" name = "password" placeholder="Senha" required
input type = "submit" value = "Login"


Segue abaixo um exemplo para o arquivo login.php com a estrutura de programação na linguagem PHP este ficará instalado no servidor web complementando a função de login.

<?php>

if (!isset($_COOKIE['cookiewpage'])) $_COOKIE['cookiewpage'] = 0;
    $cookiewpage = $_COOKIE['cookiewpage'] + 1;
    setcookie('cookiewpage',$cookiewpage,time()+3600*24*365);
    $username = $_POST['username'];
    $password = $_POST['password'];
    $self = $_SERVER['PHP_SELF'];
    $referer = $_SERVER['HTTP_REFERER'];

    session_cache_limiter('private');

    if( ( !$username ) or ( !$password ) )
            { header( "Location:$referer" ); exit(); }
            $conn=@mysql_connect( "localhost", "auth_data", "42179654" ) or die( "Nao foi possivel conectar !" );
            $rs = @mysql_select_db( "logsenhadta", $conn ) or die( "Nao foi possivel selecionar o database" );
            $sql = "select * from formulsenha where nosuario =\"$username\" and nsenha = ( \"$password\" )";
            $rs = mysql_query( $sql, $conn ) or die( "Nao foi possivel executar a consulta." );
            $num = mysql_numrows( $rs );
            $vsi_error = $_SESSION['startses'];

    if($vsi_error == IN00 ){
            header( "Location: http://www.acessorelacional.com.br/php/errorlog.php" );
            exit();
}

    if( $num != 0 ){

    session_start();
            $_SESSION['inicio'] = 'IN01';
            header("Location: http://www.acessorelacional.com.br/php/rclientes.php");
                exit();
    }else{
            $conta++;
            if($cookiewpage >3 ){
            session_start();
            $_SESSION['inicio'] = 'IN02';
            header("Location: http://www.acessorelacional.com.br/php/errolog.php");
            setcookie("cookiewpage", "", time()-3600);
            exit();

}
            header( "Location: http://www.acessorelacional.com.br/php/login.php" );
            exit();
                        }
<?>

     O arquivo acima inicia com a identificação de um arquivo php indicado pelo identificador <php> e terminando com o delimitador <?> apresentaremos uma resumida informação deste arquivo esperamos que o leitor tenha algum conhecimento na linguagem de script php.     Nas primeira linha deste arquivo iniciamos uma verificação da exitência de um arquivo de http cookie neste exemplo será verificado a variável com o nome cookiewpage caso este não exista é criado um pela função PHP setcookie() que é definida pelo manual PHP como.


bool setcookie ( string &name [, string &value [, int &expire = 0 [, string &path [, string &domain 
               [, bool &secure = false [, bool &httponly = false ]]]]]] )


     A variável $_COOKIE['cookiewpage'] + 1 incrementa um contador de visitas e a função setcookie('cookiewpage', $cookiewpage, time() + 3600 * 24 * 365) estabelece um cookie escrevendo o mesmo em cache dos arquivos temporários de um browser para internet, neste é incluiudo um número aleatório resultado da função time() e um ajustador que calcula um horário a partir do produto dos valores numéricos 3600 * 24 * 365.     As váriaveis locais $username, $password registram o nome e a senha do usuário do método POST do formulário de login html as variávies $self, e $referer coletam informações de variávies local necessárias para o processamento no servidor, os termos $_POST, $_SERVER representam uma função (um processo, um método ou procedure) própria do PHP configurativas do script e da conecção.     Os cookies são necessários junto com as funções do PHP session_start(), $_SESSION, session_cache_limiter("private") aonde estes fornecem um método de registro do início, duração e término de uma secção de acesso a um conjunto de páginas localizadas em um servidor da internet por exemplo.

     O RFC6265 fornece uma referência normativa para as interpretações dos parâmetros que compõem um http cookie há diferenças na escrita desta especificação para a internet em Javascript, PHP, VBscript e também da proprostas pela Microsoft, Netscape, Google e Yahoo, entretanto todas acabam atendendo a este mesmo propósito.

    O PHP oferece suporte a uma série de drivers e também a linguagem SQL em se tratando banco de dados o código de logon acima utiliza as seguintes funções PHP sql: mysql_connect(), mysql_select_db(), na string de consulta $sql os termos SELECT FROM WHERE e AND, mysql_query() e mysql_numrows().     A função mysql_connect(string("default_host"), string("nome_de_usuario"), string("senha")) efetua a abertura de conecção com um servidor MySQL Server os principais parâmetros necessários são: um nome de host geralmente o localhost no lado de um web server, um nome de usuário cadastrado e a sua senha todos estes dados de configuração do lado também do servidor da web, geralmente é necessário ter um nome de domínio válido na internet, um inscrição em um serviço de hospedagem de páginas de internet; a expressão mysql_select_db(string("nome_do_database"), string("caracteres_de_coneccao")) seleciona um database existente através de seu nome apropriado passando os seguintes argumentos: logsenhadta nome do banco de dados, $conn a sua string de conecção descrita no código login.php; em seguida é preprado uma string de consulta a uma tabela presente no database em que se estabeleceu a conecção nesta tentamos selecionar da tabela formulsenha o campo nosuario e nsenha aonde estes dados sejem iguais a aqueles inseridos no formulário de login e repassados pelos termos $_POST as variávies $username e $password a partir deste ponto concluimos com a função mysql_query(string("a_sting_de_consulta")) este então envia a string de consulta MySQL query ao web server.    A função expressa por $num = mysql_numrows( $rs ); conta o número de ocorrência da consulta acima 0 igual a falso, não foi encontrado o usuário com aquela senha e nome e 1 igual a verdadeiro em seguida caso verdadeiro o usuário é devidamente autorizado e direcionado as demais iniciando pela página do login no nosso exemplo a próxima página a ser acessada é a rclientes.php, em caso de falha de logon há um direcionamento para a página de login.php novamente, na terceira tentativa de login com erro há um redirecionamento para a página errorlog.php a variável $cookiewpage contem informações através do http cookie do número de tentivas de login.

Implementações da linguagem Java

     Algums produtos Opensource e de distribuição livre atualmente apresentam incorporados a outros como nos programas Java JDK e JRE 1.8 como é o caso do JavaDB ou Derby 10.6, o primeiro na versão comercial da empresa Oracle o e segudo uma versão Opersource vinculado ao Apache ASF e tendo como finalidade de fornecer ao usuário um motor de banco de dados na linguagem java contendo a DDL (linguagem de definicao de dados) responsavél pela própria estruturação do seu modelo de database relacional e uma DML(linguagem de manipulação de dados) que compreende na codificação responsãvel pela operações como criação de um banco de dados, pesquisa, inclusão, modificação entre outras definidas pela mesma.

    Este produto tem como caracteristicas a dependência de uma máquina virtual java composto pelos programas muitas vezes instalados nos microcomputadores - jvm, java virtual machine - junto com o seu sistema operacional pois este também garante a funcionalidade de uma série de outras tecnologias aplicadas inclusive à internet através de um browser. O termo inicial "Implementações" reside no fato deste produto como componente opcional nas instalações do programas JRE e JDK nas versõs anterires a 1.6 que estavam ausentes e um download em separado permanece necessário para a utilização deste utilitário de banco de dados, uma grande inclusão de novas funções nos packages javax.sql e no JDBC 1.3/1.4 melhorando a sua funcionalidade nas operaçõs de registros de um database também foram acrescentados inclusive uma ampla documentação destes produtos.

    Inclui aqui nesta próxima seção uma configuração necessária junto ao sistema operacional através de suas variáveis de ambiente das variáveis DERBY_HOME e JDK_HOME e da variável CLASSPATH e uma outra modalidade de configuração que consiste na instalação dos drivers do Derby ou do Java-DB em uma pasta onde para um programa aplicativo de banco de dados escrito também em java esteje instalado; neste exemplo um programa aplicativo de banco de dados acessado localmente é utilizado como referência e no sistema operacional MS Windows.

Deverá ser configurada através do painel de controle -> Sistema -> Avançado -> Variáveis de Ambiente a ser adicionadas principalmente para o Derby/JavaDB da seguinte forma: nome da variável DERBY_HOME

.valor da variável C:\Arquivos de programas\Sun\JavaDB > (diretório instalação + \Sun\JavaDB) ;
ou
.valor da variável C:\Arquivos de programas\db-derby > (diretório instalação + \db-derby) ;

    Verificar quanto a instalação do JRE e JDK que geralmente é instalado um uma pasta no dirétorio Java com o nome jdk1.7 ou jdk1.8 o que pode ser verificado quanto a sua instalação no painel de controle através do icone denominado Painel de Controle Java(TM). Verificar quanto a presença e configuração da variável de ambiente JAVA_HOME que geralmente e auto-configurável na instalacao do JRE/JDK. A variável de ambiente JDK_HOME deverá estar configurada da seguinte forma: nome da variavel JDK_HOME

.valor da variavel C:\Arquivos de programas\Java\jdk1.6.0_33\bin;C:\Arquivos de programas\Java\jdk1.6.0_33\lib

    A descrição acima serve como exemplo pois mudará conforme o local escolhido pelo usuário da instalação deste programa.

    Quanto a variável de ambiente CLASSPATH ela pode ser configurada no command line de um arquivo .bat na condição da instalação do programa JavaDB ou DB-Derby como sendo set CLASSPATH=.;%DERBY_HOME%\lib\derby.jar. Este arquivo .bat geralmente é um carregador de um arquivo java com a extensão .class responsável pelo carregamento de um aplicativo de banco de dados.

    Uma a segunda alternativa de configuração do JavaDB ou do Derby consiste na copia a pasta lib da instalação do JavaDB ou DB-Derby para o diretório onde estiver instalado o programa aplicativo que necessite dos mecionados drivers, por exemplo: C:\\Arquivo de Programas\Aplicativo_java\lib\derby.jar onde Aplicativo_java refere-se ao nome do programa mencionado anteriormente.

    O conjunto total do motor de banco de dados ou utilitário RBDS javaDB ou Derby é composto pelos principais arquivos com a extensão .jar derby.jar, derbyclient.jar, derbynet.jar, derbyrun.jar, derbytools.jar, derbyLocale_pt_BR.jar que compõem as biblioteca lib do JavaDB ou Derby.

    Para um aplicativo de acesso a um banco de dados local a biblioteca derby.jar consiste no arquivo de importância essencial e na condição do acesso a um database em rede assume esta função os aquivos no lado do servidor derby.jar e derbynet.jar no lado do aplicativo cliente derbyclient.jar.

O protocolo de rede TCP/IP Java

    Uma rede TCP/IP compartilha de outros recursos chamados também de protocolos como o FTP, SMTP, ARP, SNMP, UDP de um meio físico cabeamentos e placas comumente denominado como Ethernet 802.3, servidores de internet ou de rede local, computadores clientes, roteadores, switches e modems compondo uma rede, uma sub-rede local que ao mesmo tempo pode mater conectividade inclusive com redes de outros tipos de protocolos de rede.    

     Dependente também de computadores centrais informados nos programas DNS e BIND através de um número de IP onde os usuários estão devidamente cadastrados através de um nome de usuário e senha o próximo passo consiste no estabelecimento de um socket TCP através da atribuição de um endereço IP (IPV4 e IPV6) para rede local (192.168.0.0/16: endereço IP válidos no intervalo de 192.168.0.1 a 192.168.255.254; 172.16.0.0/12 intervalo de 172.16.0.1 a 172.31.255.254; 10.0.0.0/8 endereços IP válidos no intervalo de 10.0.0.1 a 10.255.255.254.) ou para a internet que é geralmente atribuído de modo dinâmico um número host de IP definido como um número de 32 bits (IPV4) - como expresso no exemplo dos endereços válidos anterior - e atualmente complementado pelo IPV6 utilizando endereços de 128 bits padronizado na RFC 2460.

    Na a sua configuração alguns programas estão incluidos como integrantes do conjunto que compõem o TCP/IP estes na camada de rede chamada de aplicação alguns conhecidos com echo, time, finger, route, treceroute, tracert, ping, netstat, net, netsh, ipconfig entre outros disponíveis para os mais variados sistemas operacionais escritos na linguagem de programação C, estes últimos utilizando o mecanismo de transito de pacotes UDP datagrama diferindo do datasocket do TCP por não necessitarem de estabelecimento de conecção e capazes de efetuar as seguintes funções: teste de configuração e estado da conecção; lista usuários conectados a uma máquina, criação de rotas através da configuração do Netmask (255.X.X.X, 240.X.X.X, 10.X.X.X), default Gateway (exemplo: um roteador) e Interfaces (exemplo: placa de rede) utilizados pelos programas DHCP, dhcpd, DNS, BIND para o fluxo dos pacotes UDP, TCP entre máquinas e servidores de rede; localização de endereços de rede e nome de host que atuam como "routers" no transito dos dados pela rede; verificação de hosts que estão na rede acessíveis; informação das conecções e das portas em escuta estatística para o adaptador ethernet nos exemplos citados estes programas console apresentam funcionalidade tanto em uma rede local quanto para um microcomputador na internet.

    Finalizando quando falamos de computadores em rede devemos apresentamos os demais exemplos de protocolos, estes por sua vez com aplicação dentro da complexidade das topologias de rede e de seus Sistemas Operacionais como em uma rede local e redes ponto a ponto (LAN, WAN, Wireless) e na rede internet: o NetBIOS/NetBEUI, LAN Manager 2.0, IPX/SPX, NWLink, SMB/CIFS, NCP, NTLM drivers de rede desenvolvido pelas empresas que têm seus programas conhecidos como Sistemas Operacional para os ambientes UNIX, LINUX, IBM, SUN e Microsoft entre outros.





A Internet e o phpMyAdmin PHP

    O phpMyAdmin consistem um programa gráfico utilizado através de um browser de internet que comporta as funções e capaciadade de criação e administração de um banco da dados SQL, originalmente voltado para o popularmente conhecido programa de gerenciamento e manutenção de sistemas de banco de dados relacional (RDBMS) MySQL disponível (na versão Opensource e Comercial) para sistemas operacionais do tipo UNIX (distribuições do LINUX, FreeBSD entre outros) e também em versões para os sistemas operacionais da Microsoft.

    Inicialmente para a criação e manipulação do dados de um database MySQL haveria a necessidade dos usuários terem também de instalar em um microcomputador na configuração server os programas acessórios o programa server PHP, um Web server (Apache 2, MS IIS 7), o próprio programa MySQL server 5, da invocação dos programas console do MySQL - mysql, myslqadmin, mysqlshow - criavamos o database e então depois as tabelas através do command line no console mysql:\ run nomedodatabase.sql a extensao .sql do arquivo e opcional.     O phpMyAdmin oferece uma alternativa gráfica a este processo e através de um browser de internet (um exemplo ficticio: http://websitenome.com/datadados.php, https://websitenome.com/datadados ) o administrador do banco de dados faz a conecção a um programa MySQL server instalado localmente ou em rede como a internet por exemplo, na sua tela de abertura do lado esquerdo da tela encontra-se uma árvore de pastas relacionadas aos banco de dados atualmente criados, na janela da direita encontram-se as guias de configuração Database, SQL, Status, Users, Export, Import, Settings, Replication, Variables, Charset e Engines.     Na guia Database lista os database criados e oferece uma alternativa para a criação de novos; a guia SQL oferece uma altenativa para o execução de consultas entre outra alternativas da linguagem SQL através de linha de comando; o Status apresenta uma estatística do uso do database selecinado; Users os usuários cadastrados o seu host último de acesso entre outros dados que configuram o acesso a um banco de dados; Export consiste em uma opção de exportar um database criado em alguns formatos tais como: OpenDocument Text, Microsoft Word 2000, CSV, LaTeX, SQL entre outros; Import solicita a seleção de um arquivo .sql.zip em um dos formatos aceitos como por exemplo o MySql para a importação dos dados; Setting opçõs de configuração; Engine configura um motor de banco de dados para armazenamento como por exemplo o MyISAM storage engine, Replication,Variables e Charset compõem o restante das alternativas de configuração do phpMyAdmin.

Cookie de webpage Javascript

Os http cookie e seus sinômimos web cookie, Internet cookie, browser cookie continuam sendo uma ferramenta HTML no seu componente de tag SCRIPT e com alguma linguagem script nesta caso o javascript tem grande utilidade vindo a competir com os cookie através de scripts PHP e de outras alternativas próprias escritas em Java e Javascript com uma sintaxe particular das conhecidas empresas voltadas para a internet como o Google, Yahoo e Facebook entre outros.     No estabelecimento de uma conecção de internet via browser os navegadores ao encontrarem em uma página de internet o tag SCRIPT redirecionam o processamento do código e arquivos nesta seção para um processamento Cliente e Servidor, os cookie fornecem uma maneira eficaz para cumprir as seguintes funções quando devidamente elaborados: escrita de um arquivo em cache com o nome de domínio acessado e neste registra-se o seu nome de cookie, informação de início e término de seção (navegação através de um browser), tempo de validade deste arquivo de cookie, nome do usuário de computador, auxilia nas atividades de acesso a páginas criptogrfadas e que necessitam de logon de entrada, preenchimento de formulários de cadastros entre outras funções.

Ele pode ser expresso pelo seguinte exemplo, que geralmente e encontrado entre o tag <Script> de um arquivo HTML.

<SCRIPT type="text/javascript"> set_Cookie(); function set_Cookie() { var today = new Date() var vardata = new Date(2015, 12, 31) var varcookie_dateGMT = vardata.toGMTString() var varcookie_date = vardata - today var varcookie = "cookie_id="+ cookie_id() var wsname = "exempcode" var varcookie = varcookie + ";expires=" + varcookie_dateGMT + ";domain=" + wsname document.cookie=varcookie } function cookie_id() { var newDate = new Date() return newDate.getTime() } </SCRIPT>


Ao acessar a página HTML de internet o browser direciona o processamento do código entre o tag <SCRIPT> para um programa ou um arquivo do tipo dll para processar os dados nele contido, a expressão type="text/javascript" determina o tipo de script entretanto este também poderia assumir outros tipos como vrml, PHP, Perl, VBscript etc.     A função set_Cookie() consiste em uma função genérica da especificação para as funções do javasript esta inicializa a função com o mesmo nome set_cookie() as principais funções utilizadas da especificação da linguagem javascirpt são: Date(), toGMTString(), getTime() e document.cookie(); é feita uma conversão pela função Date(2015, 12, 31) para um valor formatado expressando o ANO, MES, DIA, MINUTOS, SEGUNDOS e MILISEGUNDO esta então é convertida por toGMTString() para um dado legível; a variável varcookie_date armazenara um valor numérico para utilização quando necessário para obter o MES, DIA, MINUTOS da criação do cookie; varcookie representando o nome ou identificador expresso pelo nome cookie_id mais o valor de retorno da função cookie_id() que representa um numeral com o valor da hora em um formato numérico único, finalmente é criada a variável varcookie concatenando as strings anteriormente montadas na nomencaltura com os termos que compõem um cookie: "Cookie-name", "Expires", "Domain" existem outros termos que podem ser acrescentados como o "Max-Age", "Path", "Secure", "HttpOnly" como apresentado no RFC6265 e RFC2109.     O Cookie-name define um nome genérico para o cookie, Expires uma data de término de validade para o mesmo se manter válido, Domain é opcional e geralmente informa o nome do domínio a que pertence aquela página; a expressão document está definida na Web Api Interface ou pelo seu sinônimo DOM (Document Object Model) representando um objeto do documento cada vez que uma página é carregada em um browser então a expressão document.cookie ela estando correta ela é validada com a escrita de um arquivo de cookie no computador do usuário.     A linguagem HTML e o javascript também são especificados pelo World Wide Web Consortium (W3C) http://www.w3.org/TR/html401/ além das RFCs citadas acima, encontramos também nas literatura sob o formato de diversos livros as informações apresentadas aqui sobre o javascript e o HTML.

Envio de e-mail utilizando uma homepage e script PHP

O envio de uma menssagem eletrônica através da internet os e-mail quando enviados utilizando um browser de internet são chamados de Webmail.

Utiliza nesta configuração os protocolos http, https e de uma conecção direta com a internet entretanto não necessitando de utilizar o POP3. Este último possui caracteristicas off-line, conecta-se ao servidor de e-mail busca as menssagens de correio do usuário e as salva no disco local do microcomputador do mesmo, constitui um protocolo de acesso remoto a uma caixa de correio eletrônico .

Podemos desta forma ler e enviar um e-mail utilizando um browser de internet, geralmente utilizamos uma assinatura de um serviço gratuito como o oferecido por Yahoo!, zipmail, Outlook.com, mail.com entre outros existindo também o serviço pago vinculado a um domínio de internet e contratado de um vendedor de webmail.

O exemplo a seguir para ter funcionalidade necessita da locação de um domínio de internet de um ISP, o provedor por sua vez nos seus planos de assinatura oferece integrado um programa de configuração de painel de acesso à configuração dos programas no servidores como ao PHP, Javascript, e de Webmail. Completamente integráveis aos browsers de internet citamos alguns mais dos utilizados Horde, Roundcube e SquirrelMail, tendo maior utilidade voltados para a internet tcp/ip e aos planos de domínio internet pagos e serviços de webmail com menssalidade ainda assim estes programas podem encontrados nas suas versões Opensource.

O código em PHP a seguir funciona embutido em um formulário html que apresenta ao remetente de um e-mail através do browser as chamadas caixas de texto que solicitam o endereço de e-mail do remetente ?, um título para a menssagem, o seu nome ? concluindo pelo texto da menssagem: qual a sua dúvida? qual a sua pergunta ? entre outras questões. O código PHP é enviado através do método do formulário POST presente no tag HTML <form> invocado por um botão presente no tag HTML <input> interno ao tag HTML <form>. O tag HTML <form> inicia e fecha </form> os campos da página de internet chamado de formulário, as caxias de texto com o texto descritivo entre os rotulo <label> </label> como nos trechos sublinados acima e um <input> do tipo igual a text para os três itens citados estes ficam internos ao formulario HTML, completado a descrição do exemplo a seguir.


<?php $header ='From:' . "\r\n" . $_POST['mailf'] . "\r\n" . 'Formulario de Comunicacao pagina homepage www.acct.exemplo.com.br' ; $mailsubject = $_POST['mails']; $mailbody = $_POST['mailbody']; $mailto = 'homepage@acct.com.br'; if (empty ($mailto) ) { die ( "Campo mailto nao preenchido! ") ; exit(); } if (empty ($mailsubject) ){ die ( "Campo mailtsubject nao preenchido! ") ; exit(); } if (empty ($mailbody) ) { die ( "Campo da menssagem nao preenchido! ") ; exit(); } $result = mail ($mailto, $mailsubject, $mailbody, $header) ; if ($result) { $serverIP=$_SERVER['REMOTE_ADDR']; echo "O E-mail foi enviado ! <br>"; echo "Seu endereco ip: <b>" . $serverIP . "</b>"; exit(); }else{ $serverIP=$_SERVER['REMOTE_ADDR']; echo "O E-mail nao foi enviado ! <br>"; exit(); } ?> <html> <meta http-equiv="refresh" content="0;url=http://www.acct.exemplo.com.br/" /> </html>




Os pricipais campos de código diretamentes associados a função de mail PHP são retirados da seguite expressão mail(string $to, $subject, $message [string $headers_adicionais, $parametros_adicionais] ) no código PHP com as variáveis que foram criadas para criar esta expressão é escrita como: mail ($mailto, $mailsubject, $mailbody, $header). Estas variáveis têm o seguinte significado: $to -> mail do destinatário, $subject -> assunto do email enviado, $message -> a menssagem de texto conteúdo do email, $headers/parameters_adicionais -> string adicionais dos cabeçalhos conhecidos como (From, Cc e Bcc) separados por um CRLF (\r\n fim de linha e inicio de nova linha de página).

Uma string representando o $header/parametros_adicionais do mail é construida na variável local do programa $header, mais as strings de controle da menssagem (\r\n), a expressão $_POST['mailf'] acrescenta na parte da menssagem o nome do e-mail ($mailto) do destinátario informado no formulario HTML que estava sendo antes preenchido pelo rementente da menssagem (qualquer das variavel enviada pelo $_POST['nome_da_variavel'] do tag <form> estam vinculadas ao arquivo HTML de composição da própria messsagem, a definição exata da variável $_POST para o PHP é a seguinte : constitiu em um vetor associativo de variáveis passados para o script atual através método HTTP POST ). O assunto $mailsubject acrescentado neste exemplo composto um texto fixo pela expressão 'Formulario de Comunicacao pagina homepage www.acct.exemplo.com.br' mais a parte do contida no $_POST['mails'], terminando pela introdução no código PHP do corpo de texto da própria menssagem $_POST['mailbody'].

Concluindo este código PHP, a parte posterior à função mail() com a expressão if() consiste em verificações do preenchimento correto dos campos do formulário HTML do e-mail contornando a função mail() e o restante do script caso estes não estejem nulos ou em vazio. Finalmente a função PHP mail() é invocada, a variável $result receberá um valor inteiro igual a zero no envio de e-mail bem sucedido. A função echo() mostra diretamente na página do browser o endereço ip do usuário no primeiro if() se verdadeiro a menssagem echo "O E-mail foi enviado ! <br>"; caso contrario echo "O E-mail nao foi enviado ! <br>"; e por último é exibida a página HTML de retorno www.acct.exemplo.com.br com o formulário de preenchimento de e-mail vazio. A variável $_SERVER['REMOTE_ADDR'] e uma super global contendo como seu argumento a expressão REMOTE_ADDR.

As menssagem lidas pelo usuario utilizando um Webmail permanecem armazeanadas como entradas de e-mail no servidor, nos programas mais completos de leitura de menssagem eletrônicas através de um browser de internet é possível a exclusão, o arquivamento, a configuração da conta do usuário, exibição em separado para os e-mail não solicitados e a exclusão das menssagem da caixa de correio eletrônico.


Imgem ilustrativa de um formulário HTML com os elementos de preenchimentos internos ao tag HTML <form>.

A Criação de um Banco de Dados Java-db/Derby Java

     A elaboração de uma base de dados relacional no formato Java-db/Derby é composta das seguintes operações aonde devemos verificar a existência de um conjunto de programas Java necessários, o JRE e JDK as versões atuais 1.7, 1.8 e superiores são as mais recomendadas por trazerem consigo módulos opcionais de instalação que incluem a versão compatível do Java-db/Derby.     Uma opção funcional compreende no acesso ao console java através do painel de controle, no ícone java um programa é inicializado apresentando as informações quanto as instalções dos programas java da empresa Oracle e versões posteriores descontinuadas da Sun Microsystems.      Não havendo uma instalação destes programas uma solução consiste em baixar da internet dos websites dos fabricantes mencionados anteriormente e de homepages que disponibilizam uma cópia destes nas versões menos recentes e proceder na istalação do JRE, JDK e Java-db.     O programa Java-db tem um similar mantido pelo Apache Sofwtare Foundation com o nome Derby que cumpre exatamente as mesmas funções da versão comercial Java-db do Sun e da Oracle, a versão do Apache é apresentada zipada para download de seu website na internet sendo o mesmo instalado depois de descompactado em um diretório selecionado conduzindo depois a configuração do programa.

     As outras ações de importância para a elaboração e montagem de um banco de dados compreende na configuração de algumas variáveis de ambiente para a funcionalidade do software; invocação do programa console ij na pasta bin do java-db/derby que funciona como uma ferramenta de processamento dos script responsáveis pela conecção e criação de um database com opções de senha e nome de usuário, cifragem do banco de dados e no processamento do arquivo com a estrutura SQL conforme descrito nas especificações SQL ISO 1992 convertidas na linguagem Java.

     Concluindo a configuração dos ítens citados no parágrafo anterior a configuração segue informação contida na documentação que consta na pasta doc de instalação do Java-DB/Derby.     As variáveis de ambiente CLASSPATH, DERBY_HOME, JDK_HOME devem ser configuradas com a seguinte informação (painel de controle - propriedades do sistema - avançado - variáveis de ambiente): valor windows exemplos - CLASSPATH - "c:\Program Files(x86)\Java\jdk1.7.0_71\lib" ; "c:\Arquivos de Programa\Java\jdk1.7.0_71\lib" ; "c:\Program Files(x86)\db-derby\lib" ; - DERBY_HOME - c:\java\Derby_10 ; "c:\Arquivos de Programa\java\java-db" ; "c:\Program Files(x86)\java\java-db" ; - JDK_HOME - "c:\Arquivos de Programa\Java\jdk1.7.0_71" ; "c:\Program Files(x86)\Java\jdk1.7.0_71" ; valor UNIX/LINUX exemplos - CLASSPATH - linha de comando do terminal ou por edição do arquivo profile, para a primeira opção
"export CLASSPATH=/usr/java/jre1.X.X_XX/bin:/usr/java/jre1.X.X_XX/lib:
/usr/java/jdk1.X.0_XX/bin:/usr/java/jdk1.X.0_XX/lib;" segunda opção edição do arquivo profile incluir /usr/java/jre1.X.0_XX/bin, /usr/java/jdk1.X.0_XX/lib, /usr/java/jre1.X.0_XX/lib e /usr/java/jdk1.X.0_XX/bin - DERBY_HOME - instalado no diretório /opt/sun/javadb por exemplo, no prompt de linha de comando do terminal digite: "DERBY_HOME=/opt/sun/javadb; export DERBY_HOME", "PATH=$DERBY_HOME/bin:$PATH; export PATH" - JAVA_HOME/JDK_HOME - edição do arquivo profile incluir as seguintes instruções : JAVA_HOME=/usr/java/default ou "JAVA_HOME=/usr/java/jdk1.X_X; export JAVA_HOME" , "PATH=$JAVA_HOME/bin:$PATH; export PATH"

    Um banco de dados de exemplo com o nome itens_oferta.sql representada por um conjunto de dados escrito em um arquivo no formato texto composto por uma estrutura de uma tabela na linguagem SQL será construido com os seguintes campos: NOME_DO_ITEM, VALOR_ORIGINAL, VALOR_EM_OFERTA, PRAZO_OFERTA, QUATIDADE o nome desta estrutura bd_itens_oferta.    O nome do arquivo .sql não participa da estrutura do database o termo de referência da estrutura de tabela consiste no nome bd_itens_ofeta.    O arquivo assume o seguinte código sql.


create table bd_itens_oferta
		(
		NOME_DO_ITEM varchar(50) NOT NULL,
		VALOR_ORIGINAL float,
		VALOR_EM_OFERTA float,
		PRAZO_OFERTA Date,
		QUANTIDADE float,
		primary key (NOME_DO_ITEM)
		
);

    A próxima tarefa consiste na inicialização do programa utilitário console ij.bat para o seu start up caso a versão original não funcione criamos um arquivo de inicialização substituto com o nome run_ij.bat contendo a seguinte expressão
java -jar %DERBY_HOME%\lib\derbyrun.jar ij
pause

esta expressão tem a vantagem de montar o banco de dados no mesmo diretório onde estiver sendo invocado.    Inicialize então o programa run_ij.bat em um diretório vazio de sua própria escolha, ao inicializar o programa um prompt é exibido, expressões de comando reconhecidas pelo interpretador , as suas palavras reservadas da liguagem, que serão utilizadas são elas CONNECT, CREATE, RUN, INSERT, SELECT, EXIT, o banco de dados inicialmente não existe então no processo de conecção com um database ele também será criado exitem algumas opções disponíveis que podem ser utilizadas com o CONNECT dataEncryption e bootPassword que tratam de criptografar os dados do banco de dados em disco e o criam com uma senha de inicialização para o início da conecção com o database.     Para o exemplo citado utilizaremos um formato mais simplificado a primeira expressão digitada no prompt do console ij criará o database dtaoferta digitamos então a seguinte expressão:
CONNECT 'jdbc:derby:dtabdoferta;create=true';

    Utilizando uma senha (bootPassword = senha) de acesso com um banco de dados não cifrado teremos CONNECT 'jdbc:derby:dtaoferta;create=true;bootPassword=32188z3r';.     A partir deste ponto de criação do banco de dados em disco qualquer futura tentativa de utilização do mesmo implicará na digitação no prompt do console ij da seguinte linha de comando substituindo a expressão create=true para create=false
CONNECT 'jdbc:derby:dtabdoferta;create=false';
se você optar pela linha de comando com uma senha de conecção você terá:
CONNECT 'jdbc:derby:dtaoferta;create=false;bootPassword=32188z3r';

    Com o banco de dados criado iremos então processar a estrura da tabela através de uma das alternativas a seguir a primeira, digitamos no prompt do ij a expressao (RUN 'nome_arq_estrutra_tabela.sql';) RUN 'itens_oferta.sql'; na segunda alternativa copie, digite o conteudo do arquivo .sql aonde a expressão CREATE representa a palavra reservada do java para o processo de criação do banco de dados a partir do processamento do script escrito neste arquivo.

    As cinco colunas serão criadas entretanto não existirá ainda nehum registro no banco de dados a próxima modificação consiste na inclusão de um registro exemplo e na seleção do(s) registros deste banco de dados, ao final do processo terminamos com a expressão EXIT; que encerrará a seção com este database, dtaoferta que nós criamos.
INSERT INTO bd_itens_oferta VALUES ('hd externo LG 1TB', 250.00, 235.00, '05/01/2015' , 15);
SELECT * FROM bd_itens_oferta;
EXIT;

    Concluímos com o texto escrito nós parágrfos anteriores como elaborar e montar um banco de dados em java utilizando o driver derby na configuração para acesso local utilizamos ainda o JDBC 1.4 que contém a linguagem de definição e processamento desta codificação em java, as ferramentas de desenvolvimento de banco de dados Java-db e Derby são produtos respectivamente desenvolvidos e mantidos respectivamente pela Sun Microsystems e Apache Software Foundation o primeiro uma versão comercial e o segundo diponibilizado em uma versão open source gratuita apresentando ambos idêntica estruturação.

Configuração Java-DB, Derby ambiente Linux Java

O sistema operacional Linux utiliza a funcionalidade de um compilador GNU Compiler Collection capaz de transformar código fonte em C, C++, Java entre outras em programas para boa parte das distribuições linux como ferramenta de compilação para programas escritos inclusive na linguagem Java. Uma distribuição java padrão é apresentada inicialmente como parte integrante de um sistema operacional Linux após a instalação do sistema operacional em um microcomputador este uma estação de trabalho ou como um servidor de rede. Ele pode assumir o nome do instalador rpm como exemplo gcc- java-4.6, libgcj-devel-4.6. e um mais completo java-1.5.0-gcj-1.5 entre outros arquivos rpm que forneceram as bibliotecas para a compilação, programas para o funcionamento em run time e uma máquina virtual java. A linguagem de programação Java para Linux apresenta uma definição da estrutura da linguagem escrito em um formato apresentado pela especificação GNU libgcj na internet poderá ser encontrado informações que conduziram os interessados a elaborarem programas console utilizando a linguagem java, outro aspecto importante é a compatibilidade apresentada pelo GNU gcj na geração de programas opensource programas de código aberto livre.

Utilizaremos os produtos java do Sun e da Oracle JRE e JDK que apresentam bibliotecas mais abrangentes incluindo interfaces gráfica aonde apresentaremos configurações das rpm JRE e JDK a partir da versão 1.7 e superiores, baixadas destes fabricantes de software e instalados em um microcomputador com a sua configuração para o ambiente Linux/UNIX.

Posteriormente à conclusão do item descrito acima poderemos iniciar a configuração do Java-DB ou Derby que constituem programas utilitários de banco de dados composto por um conjuntos de arquivos de programa, o primeiro na versão comercial da empresa Oracle o e segundo uma versão Opersource vinculado ao Apache ASF e tendo como finalidade de fornecer ao usuário um motor de banco de dados na linguagem java contendo a DDL (linguagem de definição de dados) responsável pela própria estruturação do seu modelo de database relacional e uma DML(linguagem de manipulação de dados) que compreende na codificação responsável pela operações como criação de um banco de dados, pesquisa, inclusão, modificação entre outras definidas pela mesma.

Incluímos aqui nesta próxima seção uma configuração necessária junto ao sistema operacional através de suas variáveis de ambiente das variáveis DERBY_HOME e JDK_HOME e da variável CLASSPATH e uma outra modalidade de configuração que consiste na instalação dos drivers do Derby ou do Java-DB em uma pasta onde para um programa aplicativo de banco de dados escrito também em java esteja instalado; neste exemplo um programa aplicativo de banco de dados acessado localmente é utilizado como referência e no sistema operacional Linux, UNIX.

Configuremos as variáveis de ambiente a ser adicionadas para o Java-DB, Derby da seguinte forma:
Edição do arquivo profile localizado no diretório etc (/etc/porfile), este arquivo texto contem informações das variáveis de ambiente para o Linux. Incluímos as seguintes entradas para o sistema em uso o programa Java-DB estava instalado no diretório /opt/sun/javadb:

  • DERBY_HOME=/opt/sun/javadb; export DERBY_HOME
  • PATH=$DERBY_HOME/bin:$PATH; export PATH

Verificamos a instalação do JRE e JDK geralmente instalado um uma pasta no diretório Java com o nome jdk1.7 ou jdk1.7 também pode ser verificada a sua instalação no painel de controle através do ícone denominado Painel de Controle Java(TM). A configuração da variável de ambiente CLASSPATH muitas vezes é autoconfigurável na instalação do JRE, JDK. A variável de ambiente CLASSPATH deverá estar configurada pois parte da exibição gráfica depende do programa JDK 1.7. da seguinte forma:

>echo $JAVA_HOME

Caso não haja nenhuma entrada relativa ao JRE/JDK encluir manualmente através da edição do arquivo profile.

  • JAVA_HOME=/usr/java/default ou
    JAVA_HOME=/usr/java/jdk1.7_X; export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH; export PATH

Testar também a variável de ambiente CLASSPATH que deverá para o JRE e JDK estar configurada na instalação dos seus arquivos rpm.

>echo $CLASSPATH

Caso não esteja presente localizar as pastas /usr/java/jre1.7.0_XX/bin, /usr/java/jdk1.7.0_XX/lib, /usr/java/jre1.7.0_XX/lib e /usr/java/jdk1.7.0_XX/bin incluí-las com uma linha de comando ou por edição do arquivo profile. incluir o texto abaixo sem o sinal >.

>export CLASSPATH=/usr/java/jre1.7.X_XX/bin:/usr/java/jre1.7.X_XX/lib:/usr/java/jdk1.7.0_XX/bin:/usr/java/jdk1.7.0_XX/lib;

A descrição acima serve como exemplo pois mudará conforme o local da instalação dos programas anteriormente citados conforme a versão da distribuição Linux. Quanto a variável de ambiente CLASSPATH ela pode ter a sua configuração incluída no command line do arquivo script shell .sh, no caso da instalação de um programa aplicativo de banco de dados o arquivo script de inicialização do aplicativo em java pode conter a seguinte inclusão para a utilização dos drivers do Java-DB ou Derby exemplo: set CLASSPATH=DERBY_HOME/lib/derby.jar.

A descrição acima aplica-se a usuários com algum conhecimento em java uma alternativa mais simplificada para usuários com menos conhecimentos é considerada abaixo, esta tem funcionalidade pois consegue trabalhar com uma configuração previamente feita por programas java como GNU gcj, java-1.5.0-gcj entre outros que utilizam a a variável de ambiente CLASSPATH.

O usuário pode por simplicidade copiar a pasta lib da instalação do Java-DB para o diretório do seu aplicativo de banco de dados, a linha de comando passa a ser por exemplo java -cp "/opt/sun/javadb/lib/derby.jar": nome_aplicativojava, concluindo o mesmo deverá portanto ter atenção somente a configuração da instalação dos pacotes JRE e JDK e quanto a configuração da variável de ambiente JDK_HOME, as variáveis de ambiente DERBY_HOME e CLASSPATH passam a ter a sua configuração localmente junto ao aplicativo java. Carregará entretanto uma falta de viabilidade quanto vários aplcativos de banco de dados estiverem instalados haverá uma necessidade de cópias múltiplas do arquivo derby.jar para vários diretórios lib neste caso uma configuração global da variável DERBY_HOME é recomendada.



O GTK+ Toolkit para o Desenvolvimento de Aplicativos Gráficos C/C++

     Para a o desenvolvimento de aplicativos gráficos produtos Opensource como o GTK+ Gimp Toolkit 2.6, 2.8 e 3 entre outras versões anteriores aparecem como opção no desenvolvimento de software para ambientes multi-plataforma (compatíveis com diversos sistemas operacionais, hardware e processadores), programas para computadores desktop, notebook inclusive atualmente utilizado nos eletrônicos móveis, iPads, iPods, Tablets, Smartphones e similares no desenvolvimento de aplicativos.

    Apresentaremos uma breve exemplificação e descrição da estrutura de programação utilizando um conjunto de bibliotecas escritas na linguagem C, utilizaremos a versão do download gratuito disponível no site do distribuidor oficial versão 2.8 o gtk+-bundle_3.6.4-20130921_win32.zip (a versão 3 fornece o GTK+ toolkit na linguagem C/C++).    Ele é composto por um conjunto em separado de programas e código fonte que desempenham a tarefa gráfica, utilização dos periféricos mouse, teclado etc, fontes gráficas, sistema de arquivos estando também vinculado ao ambiente do GNOME Desktop.

    O trecho de código fonte abaixo a seguir ilustra um exemplo simplificado da estrutura de um programa GTK+ 2.8 ele poderá ser compilado utilizando inclusive em compilador e biblioteca de desenvolvimento open source, este código apresenta uma portabilidade para vários sistemas operacionais.



#include gtk/gtk.h

int main( int argc, char *argv[] )
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);

	  g_signal_connect_swapped(G_OBJECT(window), "destroy",
        G_CALLBACK(gtk_main_quit), G_OBJECT(window));

  gtk_main();
return 0;
}







    Exemplo de linha de comando para o compilação utilizando o programa Opensource gcc.
c:\gcc homepage_exemplo.c -o homepage_exemplo 'pkg-config --cflags --libs gtk+-2.0' homepage_exemplo.exe

     A primeira linha do código fonte declara a diretriz de processamento #include para a inclusão do arquivo fonte header gtk/gtk.h, é conservado a referência de chamada para o sistema operacional da linguagem C (ANSI, ISO C), é declarada uma variável GtkWidget do tipo ponteiro com o nome *windows, a função gtk_init(&argc, &argv) inicializa o próprio GTK+ passando alguns argumentos através das variáveis &argc e &argv, gtk_window_new (GTK_WINDOW_TOPLEVEL) é o construtor da área retangular/quadrada do programa gráfico exibida na imagem(1), a função gtk_widget_show (window) exibe desenhando a janela na tela do monitor o gtk_main() processa um loop atualizando o estado iterativo quando a janela receber acréscimo de objetos possíveis (rótulos - GtkLabel, caixas de texto - GtkText, menu - GtkMenu, box de entrada - GtkTextBox, botões - GtkButton entre outros ) neste exemplo não cumpre nehuma utilidade podendo até ser excluído do código fonte de exemplo.    Incluimos a função
g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), G_OBJECT(window));
quando do fechamento do programa pelo ícone x no canto superior da janela há a necessidade de cancelar o loop iniciado pelo gtk_main() e para excluir o processo inicializado em memoria do computador.

     Concluímos este texto sobre o GTK+ Toolkit 2.8 de uma forma simplificada, informações mais detalhadas e com exemplos que podem ser encontrados em homepages da internet, os interessados neste assunto também podem utilizar a versão em nosso idioma do website original que fornece referências à literatura, bibliotecas, IDE gráficas para desenvolvimento e informativos atualizados sobre a aplicação atual deste sofwtare de desenvolvimento para aplicativos gráficos.

Criação de um banco de dados em um servidor de internet utilizando uma homepage PHP

A criação de um banco de dados em um servidor de internet e a sua estrutura composta por campos configurados compreende na utilização de um domínio de internet previamente montado aonde o trabalho pode ser dividido entre a utilização dos programas host de painel como por exemplo phpMyAdmin e o Banco de Dados MySQL ou através da utilização de script PHP com as linhas de código compostas pelas funções sql CREATE_TABLE, mysql_select_db(), mysql_query() entre outras e a opção do painel de controle Banco de Dados MySQL.

Neste exemplo criaremos um exemplo de banco de dados que tem como finalidade o cadastro de dados para uma dieta alimentar e que terá como campos dos registros (as estruturas das tabelas a serem incluídas) com as seguinte informação: nome, idade, peso, sexo, data, carboidratos, lipídeos, glicídeos, proteínas, imc, calorias; finalmente o código PHP referente ao processamento desta informação descrita anteriormente.

Em ambos os casos o processo tem início com a opção do programa host do painel de controle Banco de Dados MySQL nesta opção escolhemos um nome para o banco de dados como por exemplo datreg_alimentar este por sua vez será reagrupado com parte do nome do seu domínio compondo a expressão dominio_data_dietalimentar. O próximo item compreende no cadastramento de um usuário e uma senha para a conexão e utilização deste banco de dados através da internet esta opção geralmente é apresentada na mesma página de criação do database, utilizando estes dados do exemplo do próximo parágrafo criamos : nome de usuário gen_datdieta e senha 293461 . A conclusão da criação do banco de dados consiste na delegação dos atributos ao usuário com a conta cadastrada anteriormente aonde selecionamos todos os atributos (criar, excluir, modificar etc).

Iniciamos a codificação da informação exemplificada anteriormente com dois exemplo.

O primeiro descreve o código script utilizável no phpMyAdmin 4.0 para inclusão das estrutura do banco de dados no database criado.

CREATE TABLE `datreg_alimentar` ( `nome` VARCHAR(50) NOT NULL, `idade` int unsigned NOT NULL , `peso` float NOT NULL, `sexo` VARCHAR(2) NOT NULL, `data` datetime NOT NULL, `carboidratos` float, `lipideos` float, `glicideos` float, `proteinas` float, `imc` float, `calorias` float, PRIMARY KEY(`nome`) )ENGINE=MyISAM DEFAULT CHARSET=utf8;

O exemplo a seguir descreve o código em PHP que cria um tipo de dados caracteres na variável $sql que será passado como argumento para um processo de construção SQL CREATE TABLE utilizado na página de internet para inclusão das estrutura do banco de dados no database criado.

$sql = CREATE TABLE datreg_alimentar( ". "nome VARCHAR(50) NOT NULL, ". "idade int unsigned NOT NULL, ". "peso float NOT NULL, ". "sexo VARCHAR(3) NOT NULL, ". "data datetime NOT NULL, ". "carboidrato float NOT NULL, ". "lipideos float, ". "glicideos float, ". "proteinas float, ". "imc float, ". "calorias float, ". "PRIMARY KEY ( nome )); ";

Concluímos este exemplo de criação das estruturas das tabelas em um banco de dados MySQL através script PHP em uma página html instalável no servidor web utilizando um browser de internet e uma homepage com o trecho final do script que realiza as seguintes funções:

  • Conecta-se ao banco de dados no servidor de internet utilizando uma porta padrão no servidor gerenciado por um programa web server;
  • Avalia se o status da conexão foi realizado sem erros;
  • Cria a linha de caracteres com a expressão sql CREATE TABLE (estrutura do último exemplo);
  • Seleciona o banco de dados mysql_select_db("datreg_alimentar") e processa as tabelas por mysql_query( $sql, $coneccao );
  • Apura o status de criação da estrutura das tabalas no banco de dados selecionado indicando se o processo foi concluído sem erros.

<?php session_cache_limiter('private'); session_start(); //Utilizamo abaixo os dados de configuracao exemplo fornecido nos paragrafos anteriores //E verificado se esta habilitado o uso do MySQL Server, o banco de dados com este nome //e um usuario com senha valida cadastrado conforme indicado na linha de comando $conexao=@mysql_connect( "localhost", "gen_datdieta", "293461" ) or die( "Nao foi possivel conectar !" ); if(!$conexao){ die('Nao foi possivel conectar ao database informado: ' . mysql_error()); header( 'Location: http://.$_SERVER["HTTP_REFERER"].' ); exit(); } //A estrutura e semelhante a utilizada no phpMyAdmin o primeiro exemplo poderia tambem //ser processado no lugar deste script PHP acessado por internet com o mesmo resultado //Multiplas inclusoes de tabelas as vezes longas podem ser processadas de forma //simplificada repetindo no mesmo arquivo esta estrutura abaixo criando varias variaveis //de caracteres com a expressao CREATE TABLE $sql = CREATE TABLE datreg_alimentar( ". "nome VARCHAR(50) NOT NULL, ". "idade int unsigned NOT NULL, ". "peso float NOT NULL, ". "sexo VARCHAR(3) NOT NULL, ". "data datetime NOT NULL, ". "carboidrato float NOT NULL, ". "lipideos float, ". "glicideos float, ". "proteinas float, ". "imc float, ". "calorias float, ". "PRIMARY KEY ( nome )); "; mysql_select_db( "datreg_alimentar" ); $retvalor = mysql_query( $sql, $conexao ); if($retvalor == 1){ echo "A conexao e a inclusao das tabelas ocorreu com sucesso !"; }else{ echo " Houve um erro no processamento verifique se os dados estao corretos ! \n"; echo(mysql_error()); }; php>?

A vantagem deste tipo de processamento consiste na inclusão de várias criações de tabelas em um mesmo e/ou outros bancos de dado ; instalação no servidor de internet e processamento remoto quando necessário; pode também criar o banco de dados incluindo um usuário padrão e uma senha de conexão MySQL compatível com a versão do phpMyAdmin que estiver instalada no servidor e visível aos programas host de painel.