Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

PROGRAMANDO PARA WEB COM PHP/MySQL, Manuais, Projetos, Pesquisas de Administração Empresarial

conceitos básicos de php

Tipologia: Manuais, Projetos, Pesquisas

Antes de 2010

Compartilhado em 13/01/2009

diego-medeiros-4
diego-medeiros-4 🇧🇷

1 documento

Pré-visualização parcial do texto

Baixe PROGRAMANDO PARA WEB COM PHP/MySQL e outras Manuais, Projetos, Pesquisas em PDF para Administração Empresarial, somente na Docsity! UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL PROGRAMANDO PARA WEB COM PHP/MySQL autor: Fred Cox Junior Agosto/2000 UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL CAPÍTULO I - INTRODUÇÃO ............................. 1. CLIENT-SIDE SCRIPTS ...............................1 2. SERVER-SIDE SCRIPTS ...............................1 3. O QUE É PHP......................................2 4. UMA BREVE HISTÓRIA DO PHP.......................3 5. ASP X PHP.......................................3 6. INSTALAÇÃO EM AMBIENTE WINDOWS..................4 6.1 SERVIDOR APACHE.............................4 6.2 PHP3 .......................................5 6.3 MYSQL ......................................7 CAPÍTULO II - MYSQL .................................. 1.O BANCO DE DADOS MYSQL ...........................8 2. CARACTERÍSTICAS DO MYSQL........................9 3. HABILITANDO O MYSQL PARA CONEXÕES...............9 4. SISTEMA DE SEGURANÇA DO MYSQL..................10 5. GUIA DE REFERÊNCIA DO MYSQL....................12 5.1 MYSQL MONITOR .............................12 5.2 COMO ESCREVER STRINGS E NÚMEROS ...........13 5.3 TIPOS DE COLUNAS SUPORTADOS PELO MYSQL ....14 5.4 OPERADORES ................................16 5.5 COMANDOS ..................................18 5.6 CRIANDO USUÁRIOS NO MYSQL .................22 CAPÍTULO III - A LINGUAGEM HTML ...................... 1. INTRODUÇÃO.....................................26 2. CRIANDO DOCUMENTOS HTML........................26 2.1 HTML MÍNIMO ...............................26 2.2 MARCAÇÕES BÁSICAS .........................27 3. INTERLIGANDO DOCUMENTOS........................29 4. INTERLIGANDO DOCUMENTOS EM OUTRO DIRETÓRIO.....29 5. FORMULÁRIOS HTML...............................31 5.1 CODIFICAÇÃO BÁSICA ..........................32 5.2 ENTRADA DE TEXTO COMUM -TEXT ................33 5.3 ENTRADA DE TEXTO PROTEGIDO - PASSWORD .......34 5.4 ENTRADA DE VÁRIAS LINHAS DE TEXTO - TEXTAREA 35 5.5 LISTBOX E COMBO BOX .........................36 5.6 CHECKBOX ....................................37 5.7 RADIO BUTTON ................................39 5.8 SUBMIT BUTTON E RESET BUTTONX ...............40 5.9 CONCLUSÃO ...................................41 UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL AGRADECIMENTOS Inicialmente gostaria de agradecer a Maria José, minha mãe, pelo incentivo à publicação dessa obra. Sinceros agradecimentos a todos da lista de discussão php-pt (http://br.egroups.com/group/php-pt). UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL Não se mede o valor de um homem Pelas suas roupas Ou pelos bens que possui. O verdadeiro valor de um homem É o seu caráter, Suas idéias E a nobreza do seus ideais. Charles Chaplin UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL I N T R O D U Ç Ã O 1. Client-Side Scripts São responsáveis pelas ações executadas no browser, sem contato com o servidor. Os exemplos mais comuns de aplicações client-side são imagens e textos que mudam com o passar do mouse e os java scripts. Os scripts client-side são muito úteis para fazer validações de formulários sem utilizar processamento do servidor, com isso não provocando tráfego na rede. 2. Server-Side Scripts São responsáveis pelas ações executadas no servidor. Os exemplos mais comuns de aplicações server-side são os scripts cgi´s e php. No momento em que o usuário solicita uma URL, o servidor apresentará no browser um código html dinâmico, isto é muito útil para construções de aplicações baseadas em informações on-line. (Figura 1) Cliente Servidor (www) Cliente-Side Scripts Requisição = URL Retorno = html Cliente Servidor (www) processamento Server-Side Scripts Requisição = URL Retorno = html dinâmico UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL utilitários do PHP/FI foi portado para o PHP3, e muito desse código foi totalmente reescrito. Já na metade de 1999 PHP/FI e PHP3 eram oferecidos juntos com vários produtos comerciais, como o webserver StrongHold da C2 e o RedHat Linux. Uma estimativa conservadora baseada na estrapolação dos números fornecidos pela NetCraft diz que o PHP está em uso em mais de 150,000 sites em todo o mundo. Para se ter uma idéia do que isso significa, esse número é maior do que a quantidade de sites que rodam o Enterprise server da Netscape na Internet. 5. ASP x PHP Enquanto o ASP, só é executado em plataformas micro$oft, o PHP suporta a maioria das plataformas que proveêm acesso e serviços da internet, é distribuído sobre GPL (Licença Pública Geral), ou seja, não se precisa pagar para usar o PHP. 6. INSTALAÇÃO EM AMBIENTE WINDOWS O servidor http, a ser utilizado neste curso, é o Apache, que está disponível para download em “http://www.apache.org”. Para instalar o servidor de web siga os passos abaixo: 6.1 - Servidor Apache 1.3.X Execute o utilitário de instalação (apache1.3.1.exe) e siga os passos de instalação normalmente. Quando o programa de instalação solicitar o diretório de destino, clique o botão browse e digite “C:\Apache” na janela PATH. Isto garantirá uma performance considerável no acesso ao diretório htdocs (onde ficarão armazenadas as páginas html e php reconhecidas pelo apache), visto que, por default, o Apache será instalado em: “C:\Arquivos de Programas\Apache Group\Apache\”. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL O próximo passo é a configuração do servidor de páginas www. Começando pelo arquivo “httpd.conf” que fica localizado em “C:\Apache\conf”, edite este arquivo com qualquer editor de textos de escrita rápida (Edit do DOS ou Bloco de Notas). Adicione as seguintes linhas no final do arquivo “httpd.conf”. ServerName localhost ScriptAlias /php3/ "c:/php3/" AddType application/x-httpd-php3 .php3 .php Action application/x-httpd-php3 "/php3/php.exe" A primeira linha informa ao apache o nome do servidor. No caso localhost porque cada estação no decorrer do curso estará funcionando como um servidor de web independente. A segunda linha informa ao apache que execute scripts php. A terceira informa as extensões dos scripts php que serão executados pelo servidor de web, ou seja, qualquer arquivo com extensão .php3 ou php ativará o client side script. A quarta linha informa o caminho “path” do PHP. 6.2 – Instalação do PHP3 3.1 - Crie uma pasta: “C:\php3” 3.2 - Descompacte o arquivo “php-3.0.16-win32.zip” neste diretório. 3.3 – Copie o arquivo “php3.ini.dist.txt” para o diretório “C:\Windows” , renomeando-o para php3.ini. 3.4 – Procure pela “linha extension_dir” no arquivo “php3.ini” e inclua o seguinte parâmetro: “c:\php3” Veja o trecho do arquivo abaixo como deve ficar: ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; include_path=; UNIX: "/path1:/path2" Windows: "\path1;\path2" UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL doc_root=; the root of the php pages, used only if nonempty user_dir=; the directory under which php opens the script using /~username, used only if nonempty ;upload_tmp_dir=; temporary directory for HTTP uploaded files (will use system default if not specified) upload_max_filesize=2097152 ; 2 Meg default limit on file uploads extension_dir=C:\PHP3 ./ 3.5 – Procure pelo trecho “Dynamic Extensions” no arquivo de configuração do PHP3 e descomente as linhas. Obs: descomentar é só apagar o ponto e vírgula que antece cada parâmetro de configuração. ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; ; if you wish to have an extension loaded automaticly, use the ; following syntax: extension=modulename.extension ; for example, on windows, ; extension=msql.dll ; or under UNIX, ; extension=msql.so ; Note that it should be the name of the module only, no directory information ; needs to go here. Specify the location of the extension with the extension_dir directive above. ;Windows Extensions extension=php3_mysql.dll extension=php3_calendar.dll extension=php3_dbase.dll extension=php3_gd.dll extension=php3_dbm.dll Este é o parâmetro que deve ser adicionado!!! Retirar o ponto e vírgula dessas do início de cada linha UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL etc... Suporte às API´s das Seguintes linguagens: PHP, Perl, C,C++,Java, Pynthon, etc... Suporte a múltiplos processadores Um sofisticado sistema de senhas criptografadas flexível e Seguro. Suporte à ODBC, você pode facilmente conectar o Access a um banco de dados do MySQL Suporta até 16 indices por tabela Código fonte escrito em C e C++ e testado com uma variedade de diferentes compiladores O Cliente conecta no MySQL através de conexões TCP/IP. Nenhum problema com o Y2K, visto que o MySQL usa o relógio do Unix que não apresentará problemas até 2069 3. Habilitando o MySQL para conexões Para efetuar qualquer conexão com o MySQL é necessário que o daemon (demônio), programa que roda em standallone, esteja carregado na memória; para isso, execute o binário mysqld-shareware.exe pelo prompt do ms-dos. Veja figura abaixo e siga o esquema: Pronto! O MySQL está habilitado para receber solicitações TCP/IP. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 4. Sistema de segurança do MySQL O MySQL possui um avançado sistema de segurança, a ser tratado neste capítulo. Quando você se conecta a um MySQL Server, normalmente é solicitada uma senha de usuário. Esta informação poderá ser lida no momento em que ela passar do cliente para o servidor. O ideal é instalar o servidor de web com um protocolo de compressão e criptografia, o Apache web server para o Red Hat 6.1 já vem com mod_ssh e mod_ssl; com isto, a conexão TCP/IP entre o cliente e o servidor estará sendo uma transação criptografada. O MySQL criptografa as senhas dos usuários através de um algoritmo semelhante ao processo de autenticação de login do Unix Quando se instala o MySQL para win32 pela primeira vez, ele por padrão, vem com dois usuários: um superusuário (root) e outro usuário padrão. Para trocar a senha do root (superusuário) e apagar o usuário padrão, siga os passos a seguir, supondo que o daemon (mysqld-shareware.exe) já está ativado na memória: No prompt do MS-DOS digite os comandos abaixo: UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL Você acabou de se logar como root (superusuário) no MySQL monitor; é neste ambiente que você irá criar banco de dados, tabelas e usuários. Há outros tipos de ambientes com interfaces GUI´s que não são abordados neste curso, ficando a critério do aluno a escolha. Vamos agora definir a senha do root: para isso, digite os comandos abaixo no MySQL monitor: Você apagou o usuário padrão e definiu a senha do root ('sua_senha'). Não se preocupe quanto à sintaxe SQL; isto será amplamente discutido no capítulo seguinte. 5. GUIA DE REFERÊNCIA DO MySQL 5.1 - MySQL MONITOR O MySQL monitor é o cliente que vem no pacote do MySQL para win32. Através dele podemos criar tabelas, bancos de dados, usuários e estabelecer critérios de segurança para usuários. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] Números inteiros de tamanho médio. O intervalo de valores está entre - 8388608 a 8388607. O intervalo de valores para unsigned é de 0 a 16777215. INT[(M)] [UNSIGNED] [ZEROFILL] Inteiros de tamanho normal. O intervalo de valores está entre - 2147483648 a 2147483647. Valores para unsigned é de 0 a 4294967295 BIGINT[(M)] [UNSIGNED] [ZEROFILL] Inteiros de tamanho grande. Assume intervalo de valores entre - 9223372036854775808 a 9223372036854775807. Valores para unsigned está entre 0 a 18446744073709551615. FLOAT[(M,D)] [ZEROFILL] Números ponto flutuante pequenos (simples-precisão) . Assume valores entre -----3.402823466E+38 a -1.175494351E-38 . O valor de M corresponde ao tamanho e D ao número de casas decimais. 'DOUBLE[(M,D)] [ZEROFILL]' Números ponto flutuante de tamanho normal. Valores assumidos entre - 1.7976931348623157E+308' a `-2.2250738585072014E-308', O valor de M corresponde ao tamanho e D ao número de casas decimais. `DATE' Para armazenar valores de data. Assume valores entre`'1000-01-01'' a `'9999-12-31''. Os *MySQL* são gravados no formato `'YYYY-MM-DD', porém há funções gravar e recuperar dados de data e hora que serão discutidas posteriormente. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL `DATETIME' Uma combinação de data e hora. Suporta valores entre`'1000-01-01 00:00:00'' a `'9999-12-31 23:59:59''. `TIME' Para armazenar valores hora. Assume intervalo de valores entre `'- 838:59:59'' a `'838:59:59''. `CHAR(M) [BINARY]' Valores de String. O valor de `M' indica o comprimento do campo string. 5.4 - OPERADORES ARITMÉTRICOS `+' Adição mysql> select 3+5; -> 8 `-' Subtração mysql> select 3-5; -> -2 `*' Multiplicação mysql> select 3*5; -> 15 mysql> select 18014398509481984*18014398509481984.0; -> 324518553658426726783156020576256.0 UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL mysql> select 18014398509481984*18014398509481984; -> 0 `/' Divisão mysql> select 3/5; -> 0.60 mysql> select 102/(1-1); -> NULL LÓGICOS Todas as operações lógicas no MySQL retornam `1' (Verdadeiro) ou `0' (Falso). `NOT' `!' Operador lógico de negação NOT. Retorna `1' se o argumento é falso, caso verdadeiro retorna `0'. The last example returns `1' because the expression evaluates the same way as `(!1)+1'. `OR' `||' Operador lógico de escolha OR. `AND' `&&' Operador lógico AND. COMPARAÇÃO `=' Igualdade UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL nome_atributoN tipo [NOT NULL]); especificações possíveis ADD INDEX [nome_indice] (coluna_indice,...) ADD PRIMARY KEY (coluna,...) ALTER [COLUMN] CHANGE [COLUMN] antiga_coluna O exemplo acima adicionou na tabela alunos uma coluna para cadastrar o turno, que é primordial na tabela, mas que foi esquecida com o intuito de utilizar este comando. DROP TABLE Apaga uma tabela. Sintax: Exemplo DROP TABLE nome_tabela; mysql>DROP TABLE alunos; INSERT Comando utilizado para inserir valores numa tabela. Sintax: Exemplo INSERT INTO nome_tabela(coluna1, Coluna2,..., ColunaN) VALUES mysql>INSERT INTO alunos(matricula, nome,turma,turno) values UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL (expressao1, expressao2, ..., expressaoN); (127423, 'Fred Cox Junior', 'Eng. Eletrônica', 'Manhã'); SELECT Comando usado para recuperar valores de uma tabela. Este poderoso comando, em conjunto com funcões, possibilita a recuperação de qualquer valor de uma tabela. Sintax: Exemplo SELECT coluna1, Coluna2,..., ColunaN FROM tabela WHERE condição ORDER BY coluna [ASC | DESC] mysql>SELECT * FROM alunos where nome='Fred Cox Junior'; mysql>SELECT matricula,turno FROM alunos ORDER BY matricula asc; No primeiro exemplo, são mostradas todas as colunas da tabela alunos que possuem nome igual a 'Fred Cox Junior' (O asterisco * indica que devem ser mostradas todas as colunas). O segundo exemplo mostra somente as colunas matricula e turno, em ordem crescente numérica. DELETE Apaga registros em uma tabela. Se não for especificada a condição where, todos os dados serão apagados. Sintax: Exemplo DELETE FROM tabela Mysql>DELETE FROM alunos WHERE UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL WHERE condição; turno='Manhã'; O exemplo acima apaga todos os alunos que estudam pela manhã. UPDATE Altera dados numa tabela. Sintax: Exemplo UPDATE tabela SET coluna1=expr1,col_name2=expr2,.. ., ColunaN=exprN WHERE condição; mysql>DROP TABLE alunos; 5.6 - CRIANDO USUÁRIOS NO MySQL Criar um usuário no MySQL pode ser de duas formas: com o comando INSERT ou com o comando GRANT. A segunda forma é mais amigável e menos trabalhosa. Para criar e dar garantias a um usuário no MySQL você terá de especificar os privilégios e tabelas que este usuário pode acessar. Nunca garanta privilégios para um usuário no banco de dados mysql, pois somente o root (superusuário) deve possuir garantias para tal. O superusuário pode especificar quais os privilégios que o usuário comum possui no banco ou tabela do banco de dados. Veja a lista de privilégios abaixo: Tipo Descrição UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL mysql>GRANT select,insert,update, delete ON controle.* TO 'paula' IDENTIFIED by 'paula366'; mysql>FLUSH PRIVILEGES; Usuária paula de senha paula366 com os privilégios de inserir, apagar, recuperar e alterar dados em qualquer tabela do banco de dados controle. Depois que o aluno aprender a linguagem de Script PHP, no decorrer do curso, o ideal é construir uma aplicação para gerenciar o proceso de criação e manipulação de usuários, se for um caso de uma Intranet e o volume de usuários for extenso. A digitação da senha do usuário pelo administrador da rede não lhe agrada muito. Palavra de quem trabalha com isto. ! UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL A L I N G U A G E M H T M L 1. INTRODUÇÃO O propósito do curso resume-se a programação para web com linguagem de Script PHP e acesso a banco de dados MySQL. Pressupõe-se que o aluno esteja familiarizado com as tags html, visto que é requisito necessário para fazer o curso, e além do mais, estenderia o curso. Por isso, a abordagem desta linguagem será apenas no intuito de entender o conceito de páginas web dinâmicas, com comentários voltados a esclarecer a passagem de parâmetros de formulários html para os scripts em PHP. A aparente sofisticação das páginas html, não passam de documentos de texto simples. Podem ser produzidos com qualquer editor de texto, como o Notepad, Emacs, vi, joe, etc... A diferença é que algumas páginas da web possuem características especiais de formatação de documento. Há programas especializados em fazer páginas html, tais como Dreamweaver 3.0, Hot Dog, Homesite, etc... Há uma ampla variedade de documentos, tutoriais e templates na Internet. Um bom endereço para começar a pesquisar sobre webdesign é : http://www.tol.pro.br 2. Criando Documentos HTML 2.1 - HTML Mínimo Todo documento deve ser identificado como HTML (<html> </html>), ter uma área de cabeçalho (<head></head>) com o nome para o documento (<title> </title>), um título principal e uma área definida como corpo(<body></body>) do conteúdo do documento. Como o exemplo a seguir: UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 2.2 - Marcações Básicas Títulos Todo documento em HTML deve possuir um título. De um modo geral o título aparece em lugar separado da página (por exemplo, alto da tela no Netscape), e é utilizado para identificar o documento em outros contextos (por exemplo, buscas Wais). É interessante que o título possa sugerir claramente o conteúdo do documento. Atenção porque o conceito de título é diferente de cabeçalho. O título está mais para o nome do arquivo. Não é um elemento relevante na visualização do documento como acontece com o cabeçalho. A marcação utilizada para títulos é <title> e seu par </title>. Escrito desta forma: UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 3. Interligando Documentos O principal poder do HTML vem da sua capacidade de interligar partes de um texto (e também imagens) a outros documentos. Os clientes exibem em destaque estas áreas ou pontos chaves (normalmente com cores diferentes ou sublinhado) para indicar que se trata de um link, ou interligação, no hipertexto. A marcação <A>, que define o ponto de partida para os links, é denominada de âncora. Para incluir uma âncora em seu documento: 1. Inicie a âncora com <A . ( Há um espaço depois de A.) 2. Especifique o documento a ser interligado, inserindo parâmetro HREF="arquivo" seguido do sinal: > 3. Insira o texto que vai funcionar como link no documento corrente 4. Anote a marcação de final da âncora: </A>. Um exemplo de referência a um hipertexto: <A HREF="ListaPraias.html">Praias</A> A palavra “Praias'' é definida como o marcador do link para se chegar ao documento ListaPraias.html, que está no mesmo diretório do documento corrente. Ou seja, "Praias" aparece em negrito e se eu clicar nessa palavra será exibido o documento apontado - ListaPraias.html 4. Interligando Documentos em Outros Diretórios É possível interligar documentos em outro diretório especificando-se o caminho relativo a partir do documento corrente, em relação ao que está sendo interligado. Por exemplo, um link para o arquivo Sergipe.html localizado no subdiretório Estados seria assim: UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL <A HREF="Estados/Sergipe.html">Sergipe</A> Estes são os denominados links relativos. É também possível usar o caminho completo (pathname absoluta) do arquivo desejado. Para isso, utiliza-se a sintaxe padrão do sistema UNIX. Importante: se você quiser referenciar um diretório a partir da “raiz” do seu servidor www, inicie a notação com /. Isto é, se você tiver uma notação desta forma. <A HREF=“/imagens/incon1.gif”>, significa que o arquivo incon1.gif deverá ser buscado no diretório imagens que está imediatamente acima do diretório raiz do seu servidor WWW. 5. FORMULÁRIOS HTML Esta constitui a seção mais importante deste capítulo, visto que, é a partir de um formulário html que o usuário interage, com o servidor enviando e recebendo informações. Cada comando será comentado, a fim de que o aluno se familiarize o mais rápido possível com o conceito de passagem de parâmetros de formulários html para scripts php, visto que esta é uma das maiores dúvidas. Existem vários tipos de campos de entrada de um formulário, como: • campos de entrada de texto • menus de múltipla escolha ou escolha única • botões sim-ou-não • botões para submissão ou limpeza de formulário Cada um destes campos tem funcionalidade própria e você vai aprender em que situação utilizá-los em seus formulários. Se você já conhece HTML, as marcações utilizadas em formulários seguem a mesma convenção, e portanto, será fácil aprender. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 5.1 - Codificação básica Um formulário começa com a marcação <FORM> e termina com </FORM>. Outros itens devem ser especificados: • Primeiro, o formulário precisa saber como enviar a informação para o servidor. Existem dois métodos: GET e POST. METHOD="GET" A maioria dos documentos HTML são recuperados a partir da requisição de uma única URL ao servidor. Assim, um formulário que utilize este método, envia toda sua informação ao final da URL ativada. METHOD="POST" Este método transmite toda a informação fornecida via formulário, imediatamente após a URL ativada. Ou seja, quando o servidor recebe uma ativação de um formulário, utilizando POST, ele sabe que precisa continuar "ouvindo" para obter a informação. Este é o método que iremos utilizar para direcionar um script. • Segundo: o formulário precisa saber para onde enviar a informação. Esta é a URL sendo ativada a partir do formulário, e ela é referenciada através da marcação ACTION. Esta URL apontará para um script PHP que irá receber e decodificar os resultados. ACTION="teste.php3" Após você construir estas marcações, seu formulário geralmente terá a seguinte estrutura: <FORM METHOD="POST" ACTION="teste.php3"> UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL SIZE="" OPCIONAL Esta troca o tamanho do campo de password exibido na tela. MAXLENGTH="" OPCIONAL Limita o número de caracteres que o usuário pode informar como password. Observe que no exemplo acima o script teste.php3 receberá duas variáveis, a primeira $primeiro_nome, contendo o nome do usuário e a segunda $senha, contendo a senha do usuário. 5.4 - ENTRADA DE VÁRIAS LINHAS DE TEXTO - TEXTAREA A marcação TEXTAREA não utiliza o formato convencional INPUT TYPE="text" dos exemplos anteriores. Ao contrário, uma marcação <TEXTAREA> delimita o seu início e a marcação </TEXTAREA> o seu fim. Opções: ROWS="" OBRIGATÓRIO Especifica o número de linhas da entrada textual. COLS="" OBRIGATÓRIO Especifica o número de colunas da entrada textual. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL Texto default OPCIONAL Se você deseja que um texto seja exibido no campo textual ao abrir o formulário, simplesmente coloque este texto entre as marcações de início e fim da TEXTAREA. Observe o exemplo abaixo: 5.5 - LISTBOX E COMBO BOX COMBO BOX Select Esta entrada de formulário é muito importante, visto que é a partir dela que poderemos carregar base de dados inteiras através de comandos de recuperação SQL (SELECT) com suas respectivas cláusulas e sintaxe adequada para o contexto. <select name="" size=""> <option value="">texto</option> </select> Se você deixar de especificar o parâmetros “size” , aparecerá um COMBO BOX na tela; caso contrário, uma LISTBOX. Parâmetros: Size – número de linhas exibidas. Default: 1; Multiple – parâmetro que, se presente, permite que sejam selecionadas duas ou mais linhas, através das teclas Control ou Shift; option – Cada item do tipo “option” acrescenta uma linha ao select; UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL value – Valor a ser enviado ao servidor se aquele elemento for selecionado. Default: o texto do item; text – valor a ser exibido para aquele item. Não é definido por um parâmetro, mas pelo texto que fica entre as tags <option> e </option> Observe os exemplos abaixo: 5.6 - CHECKBOX Esta tag de formulário html é muito utilizada na internet. Você, com certeza, já deve ter aberto para um amigo uma conta de e-mail ou pedido um desses serviço grátis, onde são solicitadas pesquisas, tais como; UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL Observe o exemplo abaixo: Note que, ao submeter o formulário, a variável $opcao conterá a escolha do usuário. Por exemplo: vamos supor que o usuário clicou na opção Recife; o formulário enviará ao script PHP uma variável chamada $opcao contendo o valor 'Recife'. 5.8 - SUBMIT BUTTON E RESET BUTTON Em vez de o usuário corrigir cada INPUT, um botão RESET pode ser utilizado para restaurar todos os campos a seus valores default, como se nenhuma informação houvesse sido digitada. E finalmente, o FORM precisa de uma opção para enviar toda a informação digitada para o servidor, uma vez que o usuário terminou de preencher todos os campos de entrada. O botão SUBMIT transfere toda a informação para a URL especificada no elemento ACTION. <INPUT TYPE="submit" NAME="botao" VALUE="Enviar"> Opções: VALUE="" OPCIONAL Especifica o texto a ser exibido no botão. Se não for especificado, os textos default "Reset" e "Submit Query" serão colocados nos botões RESET e SUBMIT, respectivamente. NAME="" OPCIONAL Se NAME for definido em um botão SUBMIT, o formulário irá transmitir o valor do conteúdo do elemento VALUE, permitindo que você tenha múltiplos botões SUBMIT numa espécie de versão simplificada de um RADIOBUTTONS. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 5.9 - Conclusão O conhecimento da linguagem de marcação html é de extrema importância, bem como a forma que os formulários e as páginas da web interagem com o servidor, permitindo assim gerar páginas com código dinâmico. O Capítulo II abrangeu um html simples, ou seja, o curso fornece o mínimo e necessário para o aluno comunicar-se com o servidor, gerando códigos html dinâmicos. Cabe ao aluno, caso não tenha conhecimento, se aprofundar na linguagem html. Na internet há um grande acervo de tutoriais, manuais e até mesmo livros, ensinando como elaborar páginas das mais simples às mais complexas. Você pode começar coletando manuais no endereço: http://www.tol.pro.br (Tutoriais On-line). No próximo capítulo, estudaremos a linguagem de script PHP e ao final deste, o aluno estará preparado para escrever qualquer aplicação com tecnologia Intranet. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL A L I N G U A G E M P H P 1. Sintaxe Básica O interpretador reconhece automaticamente scripts php delimitados da seguinte maneira: <? // código em php ?> Veja o exemplo da página "curso.php3", no momento em que o apache web server verificar a incidência de "<? ?>", ele automaticamente iniciará o interpretador php, que construirá a página baseado no código php existente entre as devidas delimitações. Observe que a marcação html utilizada é a mesma do capítulo anterior; o que muda é o trecho compreendido entre "<?" e "?>" no caso. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 4.6 - Operadores 4.6.1 - Aritmétricos Exemplo Nome Resultado $a+$b Adição Soma de $a mais $b. $a-$b Subtração Diferença entre $a e $b $a*$b Multiplicação Produto entre $a e $b $a/$b Divisão Divide $a por $b 4.6.2 - Strings O operador de concatenação de strings é ".". $a="Fernanda"; $b="Ferraz"; $c=$a." ".$b; echo $c; O resultado será um string contendo o valor "Fernanda Ferraz". 4.6.3 - Lógicos Exemplo Nome Resultado $a and $b And verdadeiro se $a e $b são verdadeiros $a or $b Or Verdadeiro se $a ou $b são verdadeiros !$a Not Verdadeiro se $a for falso UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 4.6.4 - Comparação Exemplo Nome Retorno $a==$b Igual Verdadeiro se $a for igual a $b $a!=$b Não Igual Verdadeiro se $a for diferente de $b $a<$b Menor que Verdadeiro se $a for menor que $b $a>$b Maior que Verdadeiro se $a for maior que $b $a>=$b Maior ou igual Verdadeiro se $a for maior ou igual a $b $a<=$b Menor ou igual Verdadeiro se $a for menor ou igual a $b 5. Estruturas de Controle 5.1 - If and Else Frequentemente, o programador necessitará testar o valor de uma variável para decidir ou não pela execução de uma tarefa. O comando utilizado para tal é o if. O "If" é uma das mais importantes estruturas de controle de muitas linguagens. O PHP possui a sintaxe desse comando semelhante à linguagem C. if (expressão) { //Código se a expressão for verdadeira } else { //Código se for falsa a expressão } Exemplo: If ($a==$b) { Echo ("A é igual a B."); } else { echo ("B é diferente de A."); UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL } Traduzindo: se $a for igual a $b então imprima na tela "A é igual a B". De outro modo, imprima "B diferente de A". 5.2 - Laço While O primeiro laço disponível em PHP é o laço while. A sua forma geral é: While (condição) { //Bloco de comandos... } Exemplo: $aux=0; while ($aux<=10){ echo $aux; $aux+; } 5.3 - Laço for Esse comando permite que determinado processo seja executado várias vezes. Sua sintaxe é a seguinte: for (inicio; fim; incremento) { //Bloco de comandos... } Exemplo: UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 7. Gravando Cookies Cookies são variáveis gravadas remotamente pelo browser do usuário. É muito útil na hora em que um usuário executa uma rotina de login no sistema. Você pode gravar o login e a senha dele e recuperá-los de acordo com o tempo especificado na função; se o parâmetro tempo não for especificado, o cookie será gravado até o fim da aplicação, ou seja, até que o usuário feche o browser. Qualquer cookie enviado por um cliente é automaticamente transformado numa variável PHP. A função para gravar cookies é a setcookie(), cuja sintaxe é a seguinte: setcookie(string_nome,string_valor,tempo); Exemplos setcookie("usuario", $senha,time()+3600); #Este cookie expira em 1 hora setcookie("senha", $senha); #este cookie expira no momento do fechamento do browser. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 8. Recuperando Cookies Os cookies gravados pelo script PHP ficam armazenados no array $HTTP_COOKIE_VARS[], cujo índice é o string nome especificado na função setcookie. Para recuperar um cookie proceda da seguinte maneira: echo $HTTP_COOKIE_VARS["usuario"]; O exemplo anterior mostrará na página html o nome do usuário. 9. header(Location...) Esta função permite que um script php redirecione para outra página. A sintaxe é: header("Location: endereço"); O exemplo a seguir redireciona o script para a página index.php3 localizada no servidor server e diretório controle: header("Location: http://server/controle/index.php3"); 10. MySQL Funções Veremos as funções mais importantes de comunicação entre um script php e um servidor de Banco de Dados MySQL. Colocar todas as funções e hipóteses neste livro o tornaria tedioso e cansativo, estendendo demais a leitura. O proprósito é impulsionar um programador para a tecnologia de Intranet. As demais funções e parâmetros não contidos neste livro ficam a critério do leitor pesquisar no manual do PHP, disponível também gratuitamente no site: http://www.php.net UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 10.1 - mysql_connect() Esta função habilita uma conexão com o servidor de banco de dados MySQL. Há indispensável necessidade de chamada dessa função antes de qualquer transação na base de dados. Esta função retorna o número inteiro 1 se a conexão for bem sucedida, caso contrário retorna 0. A sintaxe dessa função: mysql_connect("host","seu_login","sua_senha"); onde; host - corresponde ao nome do computador que tem o servidor de Banco de Dados MySQL rodando. Pode ser o nome, por exemplo - localhost, ou o endereço de IP. seu_login - é o nome de usuário do banco de dados sua_senha - a senha do banco de dados Exemplos do uso da função mysql_connect(): $conexao=mysql_connect("localhost","usuario","senha"); mysql_connect("localhost", $HTTP_COOKIE_VARS["usuario"], $HTTP_COOKIE_VARS["senha"]) 9.2 - mysql_select_db() Esta função seleciona um banco de dados, retornando 1 se a transação foi bem sucedida e 0, caso contrário. Possui a seguinte sintaxe: mysql_select_db("nome_do_db",inteiro_conexao); onde; Neste caso há dois cookies gravados remotamente no browser pela função setcookie() que é recuperado no momento da conexão. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 11.1 - Abrindo arquivos Muito frequentemente, o usuário de uma aplicação desejará armazenar dados para posterior análise. Inicialmente, para que um arquivo possa ser manipulado, ele precisa ser aberto ou criado. Para isso, vamos utilizar o comando fopen. O comando fopen, semelhante à linguagem C, retorna um identificador inteiro se a operação for bem sucedida ou 0, caso contrário. Esta função possui a seguinte sintaxe: int fopen("arquivo",atributo); Onde; arquivo - string contendo o nome do arquivo Modo - um dos especificadores abaixo. R Abre o arquivo com permissão apenas para leitura. R+ Abre o arquivo com permissão para escrita e leitura, posicionando o ponteiro no início do mesmo. W Abre o arquivo com permissão apenas para escrita. Se o arquivo existir, todo o conteúdo é apagado. Se não existir, o PHP tenta criá- lo. O ponteiro é posicionado no início do arquivo W+ Abre o arquivo com permissão para escrita e leitura. Se o arquivo existir, todo o conteúdo é apagado. Se não existir, o PHP tenta criá- lo. O ponteiro é posicionado no início do arquivo A Abre o arquivo com permissão apenas para escrita. Se o arquivo não existir, o PHP tenta criá-lo. O ponteiro é posicionado no final do arquivo A+ Abre o arquivo com permissão para escrita e leitura. Se o arquivo não existir, o PHP tenta criá-lo. O ponteiro é posicionado no final do arquivo. 11.2 - Lendo Arquivos O comando utilizado para leitura é o fread, cuja sintaxe é: string fread(id,tamanho); onde UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL id - corresponde ao identificador retornado pelo comando fopen. tamanho - tamanho do arquivo a ser lido. Você poderá especificar a função filesize("nome_arquivo") neste parâmetro para indicar que corresponde ao valor máximo. Exemplo de leitura de arquivo: 11.3 - Gravando Dados Para gravar dados em arquivos utiliza-se o comando fputs. A sintaxe desse comando é: int fputs(id,valor); onde id - corresponde ao identificador do arquivo valor - o valor a ser armazenado no arquivo. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL 11 - Conclusão Os comandos vistos anteriormente, juntamente com os capítulos anteriores, fornecem embasamento suficiente para qualquer programador inserir, alterar, apagar e recuperar dados de um MySQL Server através de scripts PHP. Os demais comandos poderão ser encontrados na documentação oficial no site http://www.php.net. O principal objetivo deste livro é fornecer conhecimento suficiente para que um programador se familiarize com a nova tecnologia. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL SIN(X) Retorna o seno de `X'. Obs: X em radianos Mysql> select SIN(PI()); -> 0.000000 TAN(X) Retorna a tangente de X. Obs: X em radianos. ACOS(X) Retorna o arco-cosseno de `X'. ASIN(X) Retorna o arco-seno de X. ATAN(X) Retorna o arco-tangente de X DEGREES(X) Converte o argumento X de radianos para graus. RADIANS(X) Converte o argumento X de graus para radianos. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL APÊNDICE B FUNÇÕES DE STRINGS DO MySQL Função Retorno LOWER(str) Força caracteres maiúsculos a aparecerem minúsculos. UPPER(str) Força caracteres minúsculos aparecerem maiúsculos. CONCAT(str1,str2,...) Concatena os strings SUBSTRING(str,pos,len) Extrai um substring começando em pos e terminando em len. LTRIM(str) Extrai espaços em branco à esquerda do string RTRIN(str) Extrai espaços em branco à direita do string TRIM(str) Extrai espaços em branco à esquerda e à direita do string. UPE - POLI - Engenharia Eletrônica Programando para Web com PHP/MySQL APÊNDICE C FUNÇÕES DE DATA E HORA DO MySQL Função Retorno WEEKDAY(data) Dia da semana (`0' = Monday, `1' = Tuesday, ... `6' = Sunday). mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> select WEEKDAY('1997-11-05'); -> 2 DAYOFMONTH(data) Dia do mês. Assume valores de 1 a 31. mysql> select DAYOFMONTH('1998-02-03'); -> 3 DAYOFYEAR(data) Dia do ano. Assume valores de 1 a 366. MONTH(data) Mês do ano. Assume valores de 1 a 12 YEAR(data) Ano referente a data. Assume valores entre 1000 a 9999 DATE_FORMAT(data,formato) Valores para o formato `%W' Dia da Semana %Y' Ano, numerico, 4 digitos `%y' Ano, numerico, 2 digitos `%d' Dia do mês, numérico. (`00'..`31') %m' Mês, numerico Formata uma data. Exemplos: mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%d-%m-%Y'); -> '04-10-1997' mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s'); -> '22:23:00'
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved