Você está na página 1de 57

Florianpolis SC, outubro de 2000.

Curso de PHP e MySQL











Flvio S. Gonzaga <bim@inf.ufsc.br>
Guilherme Birckan <birckan@inf.ufsc.br>



2
ndice

1 MySQL .............................................................................................................................3
1.1 - Principais Caractersticas...........................................................................................3
1.2 - A Estrutura.................................................................................................................4
1.3 - O Sistema de privilgios.............................................................................................5
1.4 - O Ambiente MySQL ..................................................................................................6
1.5 - Exemplos....................................................................................................................7
2 - PHP..................................................................................................................................11
2.1 - Um breve histrico de PHP......................................................................................13
2.2 - Comentrios..............................................................................................................14
2.3 Variveis..................................................................................................................14
2.3.1 Inteiros e ponto flutuante..................................................................................15
2.3.2 Arrays...............................................................................................................15
2.3.3 Strings...............................................................................................................16
2.3.4 Variveis de variveis.......................................................................................17
2.3.5 Type casting......................................................................................................17
2.3.6 Variveis por referncia no PHP4....................................................................17
2.4 - Operaes Matemticas............................................................................................18
2.5 - Operadores................................................................................................................18
Exemplo........................................................................................................................18
Exemplo........................................................................................................................19
2.6 - Operaes com strings..............................................................................................20
2.7 - Controlando o fluxo e LOOPS.................................................................................21
2.8 - Tratando formulrios................................................................................................22
2.9 Funes....................................................................................................................23
2.10 Classes...................................................................................................................25
2.11 - Acesso banco de dados........................................................................................26
2.12 - FTP e HTTP...........................................................................................................28
2.13 - Sesses....................................................................................................................29
2.14 - Tratamento de Arquivos.........................................................................................29
2.15 - Tratamento de Erros...............................................................................................31
Bibliografia...........................................................................................................................32

3
1 MySQL

MySQL um servidor de banco de dados SQL multi-usurio e
multi-threaded. SQL a linguagem de banco de dados mais popular no
mundo. MySQL uma implementao cliente-servidor que consiste de
um servidor e diferentes programas clientes e bibliotecas.
SQL uma linguagem padronizada que torna fcil o
armazenamento e acesso de informaes. Por exemplo, pode-se usar
SQL para recuperar informaes de produtos e armazenar informaes
de clientes para um site Web.
O servidor MySQL tambm rpido e flexvel o suficiente para
permitir armazenar logs e figuras nele. As principais vantagens do
MySQL so velocidade, robustez e facilidade de uso. MySQL foi
originalmente desenvolvido pois a equipe da T.c.X. DataKonsultAB
(empresa que desenvolveu MySQL) precisava de um servidor SQL que
pudesse manipular banco de dados grandes numa ordem de magnitude
mais rpida que qualquer banco de dados comercial pudesse lhes
oferecer. A equipe da TcX tem usado MySQL desde 1996 em um
ambiente com mais de 40 banco de dados contendo 10.000 tabelas, das
quais mais de 500 tm mais de 7 milhes de registros. Isto soma
aproximadamente 100 Gbytes de dados.


1.1 - Principais Caractersticas

As principais caractersticas do MySQL so:

! Manipula um nmero ilimitado de usurios simultneos;
! Alta velocidade de execuo;
! Possui APIs C, C++, Eiffel, Java, Perl, PHP, Python e TCL;
! Trabalha com diferentes plataformas: Unix, Windows etc.;
! Disponibiliza diversos tipos de dados: INT (inteiros sinalizados e no-
sinalizados de 1, 2, 3, 4 e 8 bytes), FLOAT, DOUBLE, CHAR,
VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR,
SET e ENUM;
! Alta velocidade na execuo de joins usando multi-join otimizado;
! Suporte completo a operadores e funes nas clusulas SELECT e
WHERE;
! Suporte s clusulas GROUP BY e ORDER BY e a funes de grupo
(COUNT(), AVG(), STD(), SUM(), MAX() e MIN());
! Suporte a LEFT OUTER JOIN com a sintaxe ANSI SQL e ODBC;
! Possibilidade de misturar tabelas de diferentes bancos de dados na
mesma query;

4
! Sistema de privilgios flexvel, simples, eficiente e seguro, que
permite verificao baseada em host.
! Suporte a ODBC (Open DataBase Connectivity) para Windows95 e
suas funes. possvel, por exemplo, usar o Access para conectar
ao servidor MySQL;
! Tabelas de disco sob a forma B-tree rpidas com compresso de
ndices;
! Permite 16 ndices por tabela;
! Disponibiliza registros de tamanho fixos e variados;
! Manipula grandes bancos de dados com vastos volumes de
informaes, na ordem de 50.000.000 registros;
! Escrita em C e C++. Testada com diferentes compiladores;
! Possui um sistema de alocao de memria extremamente rpido;
! Suporte total ao conjunto de caracteres ISO-8859-1 Latin1, todos os
dados so salvos e ordenados neste formato;
! Permite a definio de aliases em colunas e tabelas como no padro
SQL92;
! DELETE, INSERT, REPLACE e UPDATE devolvem o nmero de linhas
afetadas pelo comando;
! Nomes de funes no entram em conflito com nomes de tabelas ou
colunas;
! O servidor pode emitir mensagens de erros em diversas linguagens;
! Clientes podem conectar ao servidor MySQL utilizando conexes
TCP/IP, Unix sockets ou sob o Windows NT.


1.2 - A Estrutura

Um banco de dados nada mais do que uma hierarquia de
estruturas de dados complexas. Em MySQL, como em muitos outros
bancos de dados, o conceito da estrutura que mantm os blocos (ou
registros) de informaes chamado de tabela. Estes registros, por sua
vez, so constitudos de objetos menores que podem ser manipulados
pelos usurios, conhecidos por tipos de dados (datatypes). Juntos, um
ou mais datatypes, formam um registro (record). Uma hierarquia de
banco de dados pode ser considerada como: Banco de dados > Tabela >
Registro > Tipo de dados. Os tipos de dados possuem diversas formas e
tamanhos, permitindo ao programador criar tabelas especficas de
acordo com suas necessidades. MySQL prov um conjunto bem grande
de tipos de dados, entre eles:

! CHAR(M): strings de tamanho fixo entre 1 e 255 caracteres;
! VARCHAR(M): strings de tamanho flexvel entre 1 e 255 caracteres.
VARCHAR ocupa sempre o menor espao possvel, no entanto 50%
mais lento que o tipo CHAR;

5
! INT(M) [Unsigned]: nmeros inteiros entre -2147483648 e
2147483647. A opo "unsigned" pode ser usada na declarao
mudando o intervalo para 0 e 4294967295 para inteiros no-
sinalizados;
! FLOAT [(M,D)]: nmeros decimais com D casas decimais;
! DATE: armazena informao relativa a datas. O formato default
'YYYY-MM-DD' e as datas variam entre '0000-00-00' e '9999-12-31'.
MySQL prov um poderoso conjunto de comandos para formatao e
manipulao de datas;
! TEXT/BLOB: strings entre 255 e 65535 caracteres. A diferena entre
TEXT e BLOB que no primeiro o texto no sensvel ao caso e no
segundo sim;
! SET: conjunto de valores strings;
! ENUM: conjunto de valores strings, difere do SET pois s so
armazenados valores previamente especificados.

Alm dos tipos de dados existem outras opes a serem usadas
em conjunto com os tipos de dados para a criao de tabelas e
especificao de colunas:

! Primary Key (Chave Primria): usada para diferenciar um registro do
outro. Cada registro, desta forma, no pode ter a mesma chave
primria.
! Auto_increment: uma coluna com esta opo automaticamente
incrementada quando da insero de um registro;
! NOT NULL: no permite a insero de valores nulos.


1.3 - O Sistema de privilgios

Administrar o servidor MySQL, envolve a manuteno do banco de
dados com as configuraes do servidor (hosts, usurios e bancos de
dados), ou seja, o sistema de privilgios. O conceito do sistema de
privilgios simples, pela atribuio de um conjunto de privilgios, um
usurio em determinado host tem permisso para executar comandos
sobre uma base de dados. Estes privilgios estabelecem um conjunto de
regras no qual o servidor MySQL se baseia, e estas regras podem ser,
por exemplo, permisso para inserir, selecionar, excluir informaes de
uma tabela, ou criar, modificar tabelas etc. Portanto, o sistema de
privilgio, se resume em trs tabelas principais: host, user e db tendo
como hierarquia, da mais alta para a mais baixa, a ordem apresentada.

! A tabela host determina quais os hosts que esto habilitados a
acessar o servidor MySQL. Sua estrutura de colunas a seguinte:
Host, Db, Select_priv, Insert_priv, Update_priv, Delete_priv,

6
Create_priv, Drop_priv, sendo que as duas primeiras colunas
estabelecem, de qual host o banco de dados pode ser acessado e as
colunas termindas em priv so privilgios de acesso especificados
com Y ou N (o default N).
! A tabela user determina os usurios que podem acessar o servidor e
suas senhas de identificao a partir de um host. Sua estrutura de
colunas : Host, User, Password, Select_priv, Insert_priv,
Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv,
Shutdown_priv, Process_priv, File_priv;
! A tabela db contm as informaes relativas a qual banco de dados
um usurio de um certo host pode acessar: Host, Db, User,
Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv,
Drop_priv.


1.4 - O Ambiente MySQL

As tabelas acima funcionam exatamente como tabelas normais
MySQL. Elas podem ser facilmente modificadas usando comandos como
INSERT, UPDATE e DELETE.
Para entrar no ambiente MySQL monitor, ou o programa cliente
mysql, e acessar o servidor MySQL, o comando a ser executado o
seguinte:

shell> mysql h host u username p databasename

A opo -h host significa especificar o nome do host, u username
significa especificar o nome do usurio que est acessando, -p solicita
um pedido de senha e o databasename o nome do banco de dados
que se deseja acessar. A resposta a este comando o pedido de
identificao do usurio atravs da senha e em seguida a apresentao
e o prompt do ambiente a espera de comandos:

Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 459 to server version: 3.22.20a-log
Type 'help' for help.
mysql>

A partir do momento que se est conectado ao servidor, possvel
realizar vrios comandos sobre os bancos de dados que se tem
permisso, como selecionar um banco de dados (use db_name;),
buscar de dados em tabelas atravs de queries (consultas do tipo select
* from uma_tabela;), inserir valores em uma tabela (insert into

7
uma_tabela values(1,2);), criar bancos de dados (create uma_bd;),
criar tabelas (create table teste(id int, descricao varchar(50));),
mostrar tabelas do banco de dados selecionado (show tables;),
descrever a estrutura de uma tabela (describe uma_tabela; ou show
columns from uma_tabela;), remover tabelas (drop table teste;) e
outros comandos SQL comuns manipulao e controle de bancos de
dados. O comando para desconectar-se do ambiente quit.


1.5 - Exemplos

[shell]$ mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 3.22.25

Type 'help' for help.

mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)

mysql> create database Curso;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+----------+
| Database |
+----------+
| Curso |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)

mysql> use Curso;
Database changed

mysql> create table Aluno (
-> ID int not null auto_increment primary key,
-> Nome varchar(40),
-> Email varchar(30),
-> DataNasc date,
-> Matricula char(9) );
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;

8
+-----------------+
| Tables in Curso |
+-----------------+
| Aluno |
+-----------------+
1 row in set (0.00 sec)

mysql> desc Aluno;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| ID | int(11) | | PRI | 0 | auto_increment |
| Nome | varchar(40) | YES | | NULL | |
| Email | varchar(30) | YES | | NULL | |
| DataNasc | date | YES | | NULL | |
| Matricula | varchar(9) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql> alter table Aluno drop Email;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table Aluno add Endereco varchar(100) after Nome;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc Aluno;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| ID | int(11) | | PRI | 0 | auto_increment |
| Nome | varchar(40) | YES | | NULL | |
| Endereco | varchar(100) | YES | | NULL | |
| DataNasc | date | YES | | NULL | |
| Matricula | varchar(9) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql> insert into Aluno values( NULL, 'Guilherme', 'Rua
Pirineus, 43', '1979-11-18', '9723220-3' );
Query OK, 1 row affected (0.00 sec)

mysql> insert into Aluno values( NULL, 'Fulano', 'Rua Pigmeus,
69', '1980-10-24', '9723299-9' );
Query OK, 1 row affected (0.01 sec)

mysql> select * from Aluno;
+----+-----------+------------------+------------+-----------+
| ID | Nome | Endereco | DataNasc | Matricula |
+----+-----------+------------------+------------+-----------+
| 1 | Guilherme | Rua Pirineus, 43 | 1979-11-18 | 9723220-3 |
| 2 | Fulano | Rua Pigmeus, 69 | 1980-10-24 | 9723299-9 |
+----+-----------+------------------+------------+-----------+
2 rows in set (0.00 sec)

mysql> select ID, Nome from Aluno where ID < 10;

9
+----+-----------+
| ID | Nome |
+----+-----------+
| 1 | Guilherme |
| 2 | Fulano |
+----+-----------+
2 rows in set (0.00 sec)

mysql> delete from Aluno where ID=2;
Query OK, 1 row affected (0.00 sec)

mysql> update Aluno set Nome='Guilherme Birckan' where ID=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from Aluno;
+----+-------------------+------------------+------------+-----------+
| ID | Nome | Endereco | DataNasc | Matricula |
+----+-------------------+------------------+------------+-----------+
| 1 | Guilherme Birckan | Rua Pirineus, 43 | 1979-11-18 | 9723220-3 |
+----+-------------------+------------------+------------+-----------+
1 row in set (0.00 sec)

mysql> grant all privileges on Curso.* to visitante@localhost
identified by senha2000;
Query OK, 0 rows affected (0.02 sec)

mysql> quit
Bye

[shell]$ mysql -u visitante;

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.22.25

Type 'help' for help.

mysql> use Curso;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------+
| Tables in Curso |
+-----------------+
| Aluno |
+-----------------+
1 row in set (0.00 sec)

mysql> select * from Aluno;
+----+-------------------+------------------+------------+-----------+
| ID | Nome | Endereco | DataNasc | Matricula |
+----+-------------------+------------------+------------+-----------+
| 1 | Guilherme Birckan | Rua Pirineus, 43 | 1979-11-18 | 9723220-3 |
+----+-------------------+------------------+------------+-----------+
1 row in set (0.00 sec)

10

mysql> drop table Aluno;
Query OK, 0 rows affected (0.00 sec)

mysql> drop database Curso;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)

mysql> quit
Bye


11
2 - PHP

PHP uma linguagem de script no lado do servidor (server-side)
embutida no HTML, portanto necessrio instalar o interpretador da
linguagem no servidor de Web. PHP, assim como MySQL, esto
disponveis para download para sistemas UNIX, mas para o sistema
operacional Windows precisam de uma licena.
PHP diferente de um script CGI escrito em linguagens como Perl
ou C pois, ao invs de escrever um programa com muitos comandos
para sada em HTML, voc escreve um script HTML com um cdigo
embutido para fazer a mesma coisa. O cdigo PHP encapsulado em
tags especiais de incio e fim que permitem voc alternar para dentro e
fora do modo PHP.
O que distingue PHP de algo como um Javascript no lado do cliente
que o cdigo executado no servidor. Se voc tivesse um script PHP
em seu servidor, o cliente iria receber os resultados da execuo deste
script, e de maneira alguma poderia determinar qual o cdigo que est
por baixo desta execuo. possvel configurar um servidor Web para
processar todos os arquivos HTML com cdigo PHP, e ento realmente
no h maneira de os usurios perceberem que existe cdigo embutido
na pgina HTML.
No nvel mais bsico, PHP pode fazer qualquer outra coisa que um
programa CGI pode fazer, tal como coletar dados de um formulrio,
gerar contedo de pginas dinmicas, ou enviar e receber cookies.
Talvez a maior e mais significante caracterstica em PHP seu
suporte a uma faixa muito ampla de bancos de dados. Escrever uma
pgina Web baseada em um banco de dados muito simples. Os
seguintes bancos de dados so atualmente suportados: Adabas D,
Interbase, Solid, Dbase, mSQL, Sybase, Empress, MySQL, Velocis,
FilePro, Oracle, Unix dbm, Informix, PostgreSQL.
PHP tambm tem suporte a comunicao para outros servios
usando protocolos tais como IMAP, SNMP, NNTP, POP3, ou mesmo
HTTP. Voc pode tambm abrir sockets de rede e interagir usando
outros protocolos.
Um exemplo de um script dinmico que imprime a data atual est
a seguir:

<HTML>
<HEAD>
<TITLE>Script de exemplo</TITLE></HEAD>
<BODY>
<CENTER>Bem-vindo ao script de exemplo:</CENTER>
<?php
/* "<?" acima indica o incio do script PHP */
$hoje = date("Y-m-d");
print "<BR><BR>Hoje : $hoje.";
# o sinal "?>" seguinte indica o fim do script

12
?>
</BODY>
</HTML>

Assumindo que hoje dia 06 de maio de 2000, a sada do script
acima seria:

Bem-vindo ao script de exemplo:

Hoje : 2000-05-06.

Alguns pontos a considerar:

1. Todos os comandos PHP3.0 devem ser envolvidos pelas tags <? e ?>.
Uma segunda maneira de denotar comandos PHP envolvendo-os
nas tags <?php e ?>;
2. Todas as sentenas de sada para a tela devem ser envolvidas por
aspas () e conduzidas pelos comandos print ou echo;
3. Quase todos os comandos PHP3.0 terminam com um ponto-e-vrgula;
4. Todo comando HTML dentro do comando print ser executado
normalmente pelo browser e desempenhar sua funo usual;
5. Documentos incluindo cdigo PHP devem ser salvos com a extenso
.php ou .php3, isto informar ao interpretador PHP3.0 para executar
os comandos encontrados dentro das tags <? e ?>. possvel
tambm utilizar extenses diferentes do padro, mas isso acarretar
o uso das tags <?php e ?> no sentido de informar ao servidor Web
que o interpretador PHP3.0 que se encarregar de executar o
script, j que isto no pode ser identificado pela extenso do arquivo;
6. A funo date apresentada no script acima uma das milhares de
funes que o PHP disponibiliza, ela tem o formato: string date
(string formato, int timestamp);, ou seja, retorna um string e aceita
dois parmetros: o tipo de formato a ser aprensentado e um valor
timestamp
1
de data opcional (quando omitido, como no nosso caso,
considera a data atual).
Uma grande caracterstica de PHP3.0 a capacidade de
construo de templates HTML, que so muito teis quando se est
desenvolvendo um site com muitas pginas. Isso possvel atravs do
comando include que permite a insero de cdigo, provindo de um
arquivo separado, dentro de um documento HTML. Desta maneira
possvel estabelecer, por exemplo, um arquivo de rodap num arquivo
chamado rodape.txt que aparecer em vrias pginas sem precisar
reescrever o cdigo, apenas utilizando o comando include, como segue:

1
Timestamp um formato especial de data, geralmente usado em sistemas UNIX, ele
armazena sob a forma de um nmero inteiro, os segundos, minutos, horas, dia, ms e
ano de uma data. Sendo que a cada segundo ele incrementa o seu valor, tornando
simples a manipulao de data a partir de operadores como soma, subtrao etc.

13

<? include("rodape.txt"); ?>

Um outro aspecto importante de PHP a capacidade de modificar
variveis passadas de formulrios HTML, tornando possvel a realizao
de vrias tarefas como: envio de um e-mail (atravs da funo mail())
baseado em informaes de uma pgina, impresso de pginas
personalizadas, passagem e armazenamento de informaes em um
banco de dados etc.
Existem vrias outras caractersticas interessantes a destacar
sobre PHP, entre elas pode-se citar: Suporte ao modelo de orientao a
objetos, Interao com bancos de dados, Criao de imagens GIF,
Autenticao HTTP, Manipulao de erros, Manipulao de cookies,
Suporte para upload de arquivos, Conexes persistentes de bancos de
dados, Manipulao de arquivos remotos entre muitas outras.
Para se ter uma idia algumas classes de funes disponveis no
PHP3.0 so listadas a seguir: funes de suporte a bancos de dados,
especficas ao Apache (servidor de Web), de array, matemticas,
calendrio, data, diretrios, execuo de programas, HTTP, imagem,
filesystem, hashes, Rede, NIS, PDF, Perl, expresses regulares, strings,
URL, compresso, XML etc.


2.1 - Um breve histrico de PHP

PHP foi concebido num dia do outono de 1994 por Rasmus Lerdof.
A primeira verso utilizada ficou disponvel no incio de 1995 e foi
conhecida como Personal Home Page Tools. Ele consistia de um
analisador muito simples que entendia somente algumas macros e um
nmero de utilidades que estavam em uso comum nas home pages at
ento, um livro de visitantes (Guestbook), um contador e algumas
outras coisas. O analisador foi escrito em meados de 1995 e foi
chamado de PHP/FI verso 2. Rasmus combinou os scripts do Personal
Home Page Tools com o Form Interpreter e adicionou suporte a mSQL.
PHP/FI cresceu e as pessoas comearam a contribuir com o seu cdigo.
difcil dar estatsticas, mas estima-se que, no fim de 1996,
PHP/FI estava em uso em pelo menos 15.000 sites pelo mundo. Na
metade de 1997 este nmero cresceu para mais de 50.000 e nesta
poca ocorreram mudanas no desenvolvimento do PHP. O analisador
foi reescrito por Zeev Suraski e Andi Gutmans e o novo analisador deles
formou a base do PHP verso 3.



14
2.2 - Comentrios

Todo programa deve possuir comentrios, visando o entendimento
do cdigo em consultas posteriores. No PHP, existem trs tipos de
marcadores de comentrio, que so:

// e # para comentrio de uma linha. Por exemplo:

// atribui o nome varivel
$nome = "Guilherme Birckan";
$email = "birckan@inf.ufsc.br"; # atribui o E-mail varivel

e para comentrios que ocupem mais de uma linha, usamos os
marcadores /* */.

/*
Nas linhas abaixo, atribuiremos os valores
Do nome e do e-mail s respectivas variveis
*/
$nome = "Guilherme Birckan";
$email = "birckan@inf.ufsc.br";


2.3 Variveis

Para comear, vamos ver como o PHP trata suas variveis (ou
constantes), que podem ser variveis escalares ou no-escalares. As
variveis escalares so aquelas que podem ser retrabalhadas, ou
"divididas em pedaos menores", enquanto as no escalares so as
arrays (matrizes) e os objetos.
A identificao de uma varivel, independente do seu tipo pelo
sinal $ colocado como primeiro caractere, como abaixo:

$nome = "Guilherme Birckan";
$matricula = 97232203;

A primeira varivel do tipo string, e a segunda, inteiro (ambas
escalares). Vale lembrar que, como a linguagem C, as variveis $nome e
$Nome so consideradas diferentes, pois o PHP as trata como sensveis
ao caso.


15
2.3.1 Inteiros e ponto flutuante

As variveis inteiras so bastante simples de ser usadas, sem
nenhuma diferena das demais linguagens que voc est habituado a
usar. Segue as sintaxes abaixo:

$a = 123;
$b = -123;

As variveis em ponto flutuante tambm so bem simples,
lembrando que no lugar da vrgula devemos usar um ponto (.):

$a = 1.23; // a recebe 1,23
$a = 1.2e3;


2.3.2 Arrays

PHP suporta arrays simples e mltiplas dimenses (tambm
chamadas de matrizes). Usa-se uma varivel simples indexada para
denotar um array. Esta indexao pode ser feita por nmeros ou mesmo
por strings usando colchetes:

$a[1] = abc;
$a[1] = def;
$b[a] = 15;

Para se adicionar valores no final do array voc pode
simplesmente usar esta sintaxe:

$c[] = abc; // $c[0] == abc
$c[] = def; // $c[1] == def

Existem funes j implementadas de ordenamento de vetores,
tais como: sort()

$fruits = array ("lemon", "orange", "banana", "apple");
sort ($fruits);

Os arrays multidimensionais so usados quase que da mesma
forma que os arrays simples:

$a[1][2] = $f;
$b[1][bola] = $f // Voc pode misturar ndices
$b[bar][5][mesa][2] = $f; //array de 4 dimenses


16
Em PHP3 temos um problema de referenciar arrays
multidimencionais dentro de strings. O exemplo a seguir no funciona:

$a[1][5] = $f;
echo Isto no vai funcionar: $a[1][5];

Mas voc pode fazer isso usando a concatenao:

echo Agora funciona: . $a[1][5];



2.3.3 Strings


Significado
\n Nova linha
\t Tab horizontal
\\ Contra barra
\$ Dollar


Atribuies e concatenaes:

$str = Abacate;
$str = $str . grande; //concatena grande na string
$str .= e madura; // concatena e madura na string

Pegando um caracter dentro de uma string:

$primeiro = $str[0];
$ultimo = $str[ strlen($str) 1 ];

Alguns exemplos de converso de strings:

$a = 1 + "10.5"; // $a um double (11.5)
$b = 1 + "10 Small Pigs"; // $b um inteiro (11)
$c = 1 + "10 Little Piggies"; // $c um inteiro (11)
$d = "10.0 ratos " + 1; // $d um inteiro (11)
$e = "10.0 ratos " + 1.0; // $e um double (11)



17
2.3.4 Variveis de variveis

Algumas vezes conveniente voc utilizar valores de variveis
como nomes de outras variveis, utilizando assim variveis de forma
dinmica. Isto possvel em PHP!

$a = hello; // Isto uma varivel simples
$$a = world; /* Acabamos de criar uma varivel $hello com o
contedo world */

Voc tambm pode imprimir estas variveis de forma dinmica:

echo $a ${$a};

Ter como resultado: hello world

2.3.5 Type casting

Type casting em PHP funciona praticamente como em C:

$a = 10; # $a um inteiro
$b = (double) $a; # $b um double


(int), (integer) Converte para inteiro
(real), (double), (float) Converte para double
(string) Converte para string
(array) Converte para array
(object) Converte para objeto


2.3.6 Variveis por referncia no PHP4

Na verso 4 do PHP, as variveis podem receber valor por
referncia. Isto significa que ao para atribuir o valor a uma varivel no
usamos um valor, mas um "ponteiro" para o valor em questo. Na
verdade, este "ponteiro" uma outra varivel:

$nome = "Guilherme Birckan";
$identificacao = &$nome;

Deste modo, a varivel $identificacao recebe o valor de $nome
e, se uma das duas for atualizada, a outra tambm ser, mantendo o
mesmo valor em ambas.

18

2.4 - Operaes Matemticas

As operaes no PHP tambm seguem o padro das outras
linguagens (+, -, *, /, %[modulo da diviso], sin(), cos()). Alm destas,
o PHP tem um completo conjunto de operaes matemticas, que
podem ser consultadas nesta pgina:

http://br.php.net/manual/ref.math.php3

Um exemplo para calcular o valor lquido de um preo, depois de
aplicar 10% de desconto sobre o preo bruto:

$valorbruto = 10;
$desconto = 10 * $valorbruto / 100;
$valorliquido = $valorbruto - $desconto;


2.5 - Operadores

Operadores aritmticos:

Exemplo Nome
$a + $b Adio
$a - $b Subtrao
$a * $b Multiplicao
$a / $b Diviso
$a % $b Modulo da diviso

Operador de atribuio:

Exemplo Nome
$a = $b Atribuio

$a = ($b = 4) + 5; // $b recebe 4 e $a recebe 9


19
Operadores lgicos:












Operadores de comparao:

Exemplo Nome
$a ==$b Igual
$a ===$b Idntico
$a !=$b No igual
$a <$b Menor que
$a >$b Maior que
$a <=$b Menor ou igual
$a >=$b Maior ou igual

Operadores de execuo:

$output = `ls l`;
echo <pre>$output</pre>;

Operadores de incremento/decremento:

Exemplo Nome Efeito
++$a Pr-incremento Incrementa $a, depois retorna seu valor
$a++ Ps-incremento Retorna o valor de $a, depois incrementa
--$a Pr-decremento Decrementa $a, depois retorna seu valor
$a-- Ps-decremento Retorna o valor de $a, depois decrementa


Exemplo Operador
$a and $b E
$a && $a E
$a or $b OU
$a || $b OU
$a xor $b XOR
!$a NOT

20
2.6 - Operaes com strings

Operaes com strings so uma das caractersticas mais
desenvolvidas do PHP. Para concatenar-se dois strings, usamos o
operador . - Dentre as funes mais importantes esto:

strlen(), que permite saber quantos caracteres possui a string:

echo "A palavra 'internet' possui " . strlen("internet") .
" caracteres ";

substr(), que devolve uma substring da string informada:

echo substr("abcde", 2 , 2); // Esta linha ir exibir os
caracteres "cd";

ucwords (string), converte os primeiros caracteres de strings
em maisculo.

Exemplo:

$nome = ucwords("valdir henrique dias leite");
echo($nome); //Esta linha exibir Valdir Henrique Dias Leite

strpos (), para saber se determinado caractere (ou substring)
est contida em uma string:

if strpos ($email, "@") {
echo("Seu e-mail parece estar correto!\n");
} else {
echo("O e-mail est invlido\n");
}


No exemplo acima, verificamos se o caractere "@" est contida em
uma varivel $email. Se estiver, exibe a primeira mensagem. Do
contrrio, exibe a segunda.
Outras funes relacionadas operaes com strings podem ser
encontradas em

http://br.php.net/manual/ref.strings.html



21
2.7 - Controlando o fluxo e LOOPS

As funes usadas para controlar o fluxo do programa e execuo de
"loops" so:

if ... else ... else if, que segue o padro da linguagem C:

if ($sexo == "m") {
echo "Voc do sexo Masculino\n";
} elseif ($sexo == "f") {
echo "Voc do sexo Feminino\n";
} else {
echo "Por favor, informe corretamente seu sexo\n";
}

switch, uma maneira de controlar o fluxo onde a varivel de
controle do fluxo pode ter vrias opes de valores. Este tipo de controle
poderia ser feito com uma seqncia de "ifs" e "elseifs", mas o uso do
switch torna o cdigo mais legvel e faz com que seja executado mais
rapidamente, pois a verificao da varivel "$sexo" s feita uma vez e
depois comparada com as opes de cada "case". Se no estiver em
nenhuma delas, executado o bloco sob o "default". J com o "elseif", a
comparao feita novamente a cada sentena. Neste exemplo, a
diferena no to grande, mas quando o tipo de verificao vai ficando
mais complexo a velocidade comea a ser sentida. Na maioria dos
casos, vale a pena optar pelo switch.

switch ($sexo) {
case "m":
echo "Voc do sexo Masculino\n";
break;
case "f"
echo "Voc do sexo Feminino\n";
break;
case default:
echo "Por favor, informe corretamente seu sexo\n";
break;
}

Sempre inclua o comando break no final do case. Caso contrrio, a
execuo continuar at encontrar o final do switch (ou a instruo
break), fazendo com que as instrues de mais de um case sejam
executadas.

while, que permite repetir o cdigo enquanto uma condio for
verdadeira:

22

while ($contador > 0) {
$contador = $contador - 2;
}


for, para execuo de um loop determinada quantidade de vezes:

for ($i==0; $i<100; $i++) {
echo "$i\n";
}


2.8 - Tratando formulrios

Vamos fazer, passo-a-passo, um script para receber os dados de
um formulrio, consistir as informaes e enviar o resultado por e-mail.
Este formulrio possui campos para digitao do nome, e-mail e
telefone. Todos os campos so obrigatrios e a consistncia do campo e-
mail deve ser feita apenas verificando a existncia do caractere @, para
facilitar as coisas. J o campo telefone deve ter sete ou oito caracteres.
Tendo este cenrio, mos a obra!

<?php

$erro = "";

if ($nome == "") {
$erro .= "Digite seu Nome\n"; }

if ((strlen($telefone) > 8) or (strlen($telefone) < 7)) {
$erro .= "O nmero do telefone deve ter sete ou oito
caracteres\n";
}

if strpos ($email, "@") = 0 {
$erro .= "O e-mail digitado no vlido\n"
}

Esta primeira parte faz a consistncia dos dados e altera o valor
da varivel $erro, caso alguma das condies no seja satisfeita. Para
prosseguir, devemos verificar a ocorrncia de erros e ento enviar o e-
mail se erros no tiverem ocorrido ou enviar uma tela de resposta
informando qual o erro aconteceu. Como o valor de $erro antes da
verificao dos campos "", basta testar se a varivel ainda tem este
valor para saber se aconteceu ou no um erro. Vamos continuar:

23

echo("<html><title>Envie o formulrio
abaixo</title><body><center>\n"); # Cabealho de resposta.

if ($erro == "") { // No houve nenhum erro no preenchimento
mail("birckan@inf.ufsc.br", "Dados do Formulrio"," Nome:
$nome\n E-mail: $email\n Telefone: $telefone\n","From:
$email\nDate: $date\n" );

echo("Obrigado por enviar este formulrio!\n");
} else
echo("No foi possvel enviar o formulrio!<br>Verifique as
mensagens abaixo<br><br><b> $erro \n");
}
echo("</center></body></html>\n");

Pronto!

A novidades neste script :

e-mail. Sua sintaxe a seguinte: mail(Destinatrio, Assunto,
Mensagem, Informaes_Adicionais);

Depois do script que envia e-mail, vamos fazer um outro que
guarde as informaes de um formulrio HTML em um banco de dados.


2.9 Funes

As funes no PHP no diferem muito das outras linguagens.
Algumas caractersticas das funes:

Devem ser declaradas antes de serem usadas.
Podem receber parmetros por valor ou por referncia.
Podem ter quantidade varivel de parmetros (Apenas a partir da
verso 4).
Os parmetros podem ser declarados com um valor default.
Uma vez definida, uma funo no poder ser "redefinida".



24
Alguns exemplos de funes:

/*
Esta funo retorna TRUE ou FALSE, dependendo da validade ou
no do e-mail informado.
*/
function verifica_email($email){
if strpos ($email, "@") = 0 {
return false;
} else {
return true;
}
}

/*
Neste exemplo calculamos o valor lquido, tendo o valor bruto
e o desconto a ser aplicado. Se o desconto no for informado,
utilizaremos 10% como padro.
*/
function valor_liquido($valor_bruto, $desconto = 10) {
return ($valor_bruto - ($valor_bruto * $desconto/100));
}
Os dois exemplos acima receberam seus parmetros por valor.
Isso significa que as alteraes de variveis realizadas dentro da funo
s tero efeito no contexto da funo, e estas mudanas no refletiro
no resto do script. Em alguns casos pode ser interessante que os valores
dos parmetros sejam alterados pela funo, e que seus novos valores
reflitam no script como um todo. Para conseguir isto, usamos a tcnica
de passagem de parmetro por referncia. Vamos ver um exemplo:
function completaURL(&$mv_URL) {
$mv_URL .= "http://".$mv_URL;
}

$URL = "www.inf.ufsc.br";
completaURL($URL);

echo "A URL completa fica assim: $URL\n";



25
2.10 Classes

Como no poderia deixar de ter, PHP tambm possui suporte a
criao de classes e objetos de forma simples:

class carro {

var $estado; // Estado do carro: ligado ou desligado

function liga() {
if ($this->estado != ligado) {
$this->estado = ligado;
return true;
} else {
return false;
}
}
}

$carro1 = new carro;
$carro1->liga();

O mtodo construtor da classe (mtodo que executado quando a
classe criada) uma funo com o mesmo nome da classe:

class Pessoa {
var $idade;
function Pessoa() {
$idade = 0; //Todo objeto desta classe criado com 0 anos
}
}

As classes podem herdar caractersticas de outras classes. Criando
uma classe derivada de uma outra classe, como no exemplo a seguir da
criao da classe Aluno, derivada da classe Pessoa:

class Pessoa {
var $nome;
var $endereo;
}

class Aluno extends Pessoa {
var $matricula;
}


26
Todas as caractersticas da classe me so herdadas pela classe
filha. A herana mltipla no suportada pelo PHP.


2.11 - Acesso banco de dados

Como foi dito na apresentao do PHP, o acesso banco de dados
um dos pontos fortes desta linguagem. Ele possui acesso nativo a
ADABAS, ORACLE, SYBASE, SQL SERVER, DBASE, INFORMIX, mSQL,
MySQL, POSTGRESQL, alm de suportar ODBC, fazendo com que o PHP
possa trabalhar praticamente com todos os bancos de dados existentes.

Neste mdulo vamos ver apenas as apenas as funes relativas ao
banco MySQL, pois esta dupla PHP/MySQL est sendo preferida por uma
boa parte dos desenvolvedores, particularmente no ambiente
Linux/Apache.
O MySQL um servidor SQL e portanto devemos seguir alguns
procedimentos e regras para acesso aos seus dados. Se voc est
acostumado com o Oracle ou SQL Server no ter dificuldades, mas se
voc usa somente bancos de dados do tipo Access ou DBF, poder ter
dificuldades em entender o mecanismo usado pelo MySQL.
A primeira regra ter um banco de dados cadastrado e um
usurio com acesso este banco de dados. Vale lembrar que o MySQL
no um banco de dados, e sim um servidor de dados. Tenha isto em
mente para entender o exemplo.
Digamos que temos um banco de dados Curso com o usurio
visitante e senha temp99. O primeiro passo "logar" ao servidor. Para
isso usamos a funo mysql_connect e informamos ao servidor login
(usurio) e senha. Veja abaixo:

$conn = mysql_connect ("localhost", "visitante", "temp99");

Este comando abrir uma conexo com o MySQL da mquina local
(localhost), usando o usurio visitante cuja senha temp99. Uma
referncia a esta conexo ser gravada na varivel $conn.
Depois de conectados ao servidor, devemos conectar ao banco de
dados propriamente dito, usando o comando mysql_select_db, que
precisa de dois parmetros: O nome do banco de dados e a conexo.
Caso a conexo no seja informada, ele tentar usar a ltima criada. Em
nossos exemplos, iremos sempre informar os dois parmetros.

$db = mysql_select_db("", $conn);


27
Neste ponto j temos uma conexo com o servidor e j criamos
um link com o banco de dados. Agora podemos enviar os comandos SQL
que desejarmos. Se voc no souber SQL, aprenda :-)
Agora segue nosso exemplo prtico: Vamos usar o script do
mdulo passado e alter-lo de modo que os dados digitados no
formulrio sejam gravados no banco de dados Curso antes de enviar o
e-mail.

<?php

$erro = "";

# Verificar se o campo NOME est vazio.
if ($nome == "") {
erro .= "Digite seu Nome\n";
}

# Verificar a quantidade de caracteres no campo TELEFONE.
if ((strlen($telefone) > 8) or (strlen($telefone) < 7)) {
$erro .= "O nmero do telefone deve ter 7 ou 8 caracteres\n";
}

# Testar vamor do campo E-mail, verificando o caracter "@"
if strpos ($email, "@") = 0 {
$erro .= "O e-mail digitado no vlido\n";
}

# Cabealho de resposta.
echo("\n");
echo("<center>\n");

if ($erro == "") {
$conn = mysql_connect("localhost", "visitante", "temp99");
$db = mysql_select_db("Curso", $conn);
$sql = mysql_query("insert into Aluno (Nome, Email, Telefone) values
('".addslashes($nome). "','".addslashes($email)."',
'".addslashes($email)."')" or die ("No foi possvel atualizar a tabela");
mysql_close($conn);
mail("birckan@inf.ufsc.br", "Dados do Formulrio"," Nome:
$nome\n
E-mail: $email\n Telefone: $telefone\n","From: $email\nDate:
$date\n");
echo("Obrigado por enviar este formulrio!\n");
} else {
echo("No foi possvel enviar o formulrio!
Verifique as mensagens abaixo:

\n");

28
echo("<b>$erro </b>\n");
echo("<br><br><a href=form.htm>Voltar\n");
}
echo("</center>");


Este o procedimento padro para usar servidores de banco de
dados com o PHP:

Conectar ao servidor
Abrir o banco de dados (um servidor SQL pode ter mais de um banco
de dados)
Enviar os comandos SQL
Desconectar do servidor

A novidade deste exemplo fica por conta do comando die que finaliza o
script caso a funo que o precede no possa ser executada.


2.12 - FTP e HTTP

Algumas vezes pode ser til que nosso script execute um outro
script ou ento transfira um arquivo para outro servidor. Para isso,
podemos executar comandos HTTP e FTP de dentro do PHP. Veja os
exemplos:

HTTP: Podemos fazer, dentro do script PHP, uma chamada a outro
script ou programa CGI hospedado em outro servidor. Isto muito til
quando queremos consultar algum dado em um servidor remoto, ou at
mesmo para abrir uma pgina, usando o protocolo HTTP. Para isso,
basta chamar a funo Header("location: pagina.htm") para redirecionar
para uma pgina especfica ou ento o usar o comando abaixo para
executar um CGI passando parmetros via URL:

header("location: http://server/cgi/script.pl?p=" . $param);

Onde $param uma varivel que pode vir de uma consulta a
banco de dados ou mesmo de um formulrio.
Outra funo HTTP importante o uso de "cookies" para gravar
alguma informao no browser de quem estiver visitando sua pgina.
Para gravar um "cookie", usamos a funo setcookie(), como mostrado
abaixo:

setcookie("Visitou", "Sim", time()+3600);


29
O comando acima gravar um cookie chamado "Visitou" com o
valor "sim", com apenas uma hora de durao. Note que o 3600 o
nmero de segundos alm do horrio atual que o cookie deve ficar
ativo. Se no lugar de 3600, usssemos 36000, o cookie seria ativo por
10 horas.

FTP: A seqncia de tarefas para uso do protocolo FTP Conectar ao
Servidor, Identificar-se (Login e Senha), Enviar/Buscar arquivo(s),
Desconectar. Os comandos para cada uma destas tarefas so:

$conn = ftp_connect(ftp.inf.ufsc.br);
$log = ftp_login($conn, 'login', 'pass');
ftp_put($con, 'arquivo_remoto', 'arquivo_local',
FTP_ASCII/FTP_BINARY);
ftp_quit($conn);


2.13 - Sesses

Sesses HTTP servem para preservar dados em acessos
subseqentes, atravs de registros de variveis de sesso. Usamos
basicamente trs funes:

session_start();
session_register( VARIVEL" );
session_destroy();

Exemplo:

<?php
session_start();
session_register("VARIAVEL");
if (!isset($VARIAVEL)) {
header("Location: error.php");
exit();
}
print "Passou!!";
?>


2.14 - Tratamento de Arquivos


O PHP possui vrias funes para o tratamento de arquivos a fim
de facilitar sua manipulao. A primeira coisa que se tem que saber

30
que para se manipular arquivos, tem-se que abrir e fechar o arquivo. O
PHP possui as seguintes funes para se abrir e fechar arquivos:

fopen( nome_do_arquivo, mode, [diretrio] ) Abre o arquivo
fclose( fp ) - Fecha o arquivo

Estes modos de abrir o arquivo podem ser os seguintes:

r somente leitura; posiciona-se no incio do arquivo.

r+ leitura e escrita; posiciona-se no incio do arquivo.

w somente escrita; posiciona-se no incio do arquivo e o trunca
para tamanho zero. Caso o arquivo no exista o PHP tenta cri-lo.

w+ leitura e escrita; posiciona-se no incio do arquivo e o trunca
para tamanho zero. Caso o arquivo no exista o PHP tenta cri-lo.

a somente escrita; posiciona-se no final do arquivo. Caso o
arquivo no exista o PHP tenta cri-lo.

a+ leitura e escrita; posiciona-se no final do arquivo. Caso o
arquivo no exista o PHP tenta cri-lo.

Aps abrir um arquivo, pode-se ler o contedo ou escrever em seu
contedo, de acordo com a forma que se abriu o arquivo.

fread( fp, tamanho )
fgets( fp, tamanho )
fwrite( fp, string, [tamanho] )

Exemplos:

$nomedoarquivo = "/tmp/teste.txt";
$fp = fopen ($nomedoarquivo, "r");
$contents = fread ($fd, filesize ($nomedoarquivo));
fclose ($fp);


$fp = fopen(/tmp/teste.txt, a);
fwrite($fp, bla bla bla \n);
fclose($fp);

$fp = fopen ("/tmp/teste.txt", "r");
while ( !feof($fp) ) {
$buffer = fgets($fp, 4096);
echo $buffer <br>;
}
fclose ($fp);

31

Neste ltimo exemplo, pega-se linha a linha de um arquivo e
imprime em HTML separando as linhas pela tag <br>.

2.15 - Tratamento de Erros


O PHP tem um esquema especial de "debugging" (tratamento e
verificao de erros), que acessado por uma porta TCP, que permite
acompanhar a execuo dos scripts e ver quaisquer erros que estiverem
acontecendo.

Alm disso o tratamento de erros pode ser feito no prprio script,
conforme explicado abaixo:

O PHP possui 4 nveis de erros e avisos, que so:

1 - Erros de normais de Funes
2 - Avisos Normais
4 - Erro de interpretao
8 - Avisos que voc pode ignorar, mas que podem causar danos
execuo normal do script.

O padro do PHP o nvel 7 (1 + 2 + 4), mas este nvel pode ser
alterado tanto no arquivo de configurao quanto em tempo de
execuo, chamando a funo error_reporting($nivel) com o nvel
desejado.
Se usarmos o valor 0 (zero) nenhum aviso ou mensagem de erro
ser gerada em tempo de execuo. Neste caso, podemos usar uma
varivel especial ($php_errormsg) que conter o ltimo erro gerado
pelo script, para que possamos criar rotinas especficas para tratamento
de erros. Podemos fazer uma analogia ao comando on error resume
next do ASP, tcnica muito til para personalizarmos mensagens de erro
para o usurio, entre outras coisas.

32
Bibliografia





http://www.ibestmasters.com.br
http://www.weberdev.com
http://www.php.net
http://www.webmonkey.com
http://www.devshed.com
http://www.mysql.com
http://www.phpbuilder.com


TRIDAPALI, Graziela W. & SANTANNA, J uliana S. Trabalho de Concluso de Curso
Construindo uma aplicao de Comrcio Eletrnico


New Tools : SEO Monitor (* Beta


*)|Uptime Monitor (* Beta *)
[Login]
Free Sample Chapters| Beginner Guides| PHP Classes| Code
Examples| Articles| Jobs| Forums| Manuals| Site Map|
Advertise| FeedBack
Search WeberDev

PHP Search Toolbar
Weber Sites
Web Site Templates
Web Development
Resources
Learn PHP playing Trivia
PHP Web Logs (BLogs)
PHP & MySQL Forums
Web Development Index
Web Development Content
What is My IP?
Web Site Uptime Monitor
PHPClasses
Codewalkers
PHP Editor
PHP Jobs
PHP Resources
Ajax Tutorials
PHP Programming Help
RSS Feeds
WeberDev.com - Latest PHP Code Examples G
WeberDev.com - Latest PHP Articles and
Tutorials
G
WeberDev.com - Latest Jobs G
WeberDev.com - Latest Project Matching G
WeberBlogs.com - Latest Web Logs G
WeberForums.com - PHP General Latest
Posts
G
WeberForums.com - MySQL General Latest
Posts
G
WeberForums.com - Apache General Latest
Posts
G
WeberForums.com - Java Script General
Latest Posts
G
Latest Code Examples Latest Articles

2006-05-18
Secure URL $_GET
2006-05-18
Yahoo! Messenger Friend List
2006-05-17
Dynamic Dropdown for Country
and City List
2006-05-09
Form Validation Using PHP to
highlight non valid fields
2006-05-05
PHP 101 (part
11): Sinfully
Simple
2006-04-16
Using
Transactions In
MySQL (part 2)
2006-04-03
PHP 101 (part
10): A Session
In The Cookie

Web WeberDev
WeberForums
WeberTrivia Questions
Think you are smart?
Prove it!. Try your skills
with these questions :
MySQL client programs
use default values for any
connection parameter
option that you do not
specify, the default
hostname is
localhost.(MySQL)
The \"fdisk -l\" command
displays the partition and
the size of the partition in
KB on the hard
disk.(Linux)
Free Sample Chapters
WeberDev.com - PHP & MySQL Code examples, tutorials, Classes, web development resources
http://www.weberdev.com/ (1 of 3) [21/05/2006 22:41:48]
Search
PHP/MySQL
Programming
Stargeek Studios
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Suggest your site
NewExamplesRSS 12%
Adwords 5%
MyYahoo 4%
Overture 4%
phpn.org 4%
NewArticlesRSS 3%
phpclasses 3%
OSContent 2%
SearchBox 1%
Become an Affiliate
Hosting Domain Names
webmaster forums
Web design forum
Submit Site
Best Web Hosting
Reviews
Free Domain Names
Real Estate - Real Estate
Listings
Green Card - Green Card
Lottery Application
Service
online casino
2006-05-08
Quick SQL Row Selection
2006-05-08
Data Retrieve from mailbox and
generate the SQL Syntax
2006-05-05
A Complete
table(ADD,EDIT,VIEW,DELETE)
management System
PHP,MYSQL, JAVASCRIPT
2006-05-05
PHP Mysql Paging System
2006-05-04
Extract keywords from a string
having words in " " count as one
string.
2006-05-01
Data Retrieve from Mysql using
AJAX with PHP
More Code Examples...
Jar
2006-03-22
Using Adobe's
Flex Builder
tool to connect a
PHP backend to
the front end
2006-03-18
Using
Transactions In
MySQL (part 1)
More Articles
& Tutorials...
Latest News Latest Forums Threads
2006-05-19
Zero-day Word flaw used
in attack
2006-05-19
Skype bug may expose
user data
2006-05-12
Apple flaws put both
Macs and PCs at risk
2006-05-11
Ballmer: Google wants
special treatment in IE
2006-05-10
Google has its eye on
2006-05-22 03:12:59
Storing lists in mysql
2006-05-21 13:39:04
MySQL Schema
2006-05-21 03:48:55
CHMOD Not changing
2006-05-20 16:46:26
&#9679; &#9679;
&#9679; &#9679;
Dimension Se
2006-05-20 00:13:21
Help with Mysql
Database
The JavaScript
Anthology: 101
Essential Tips, Tricks &
Hacks
this is the most complete
question-and-answer book
on JavaScript. It's a
collection of over 100
thoroughly-tested,
customizable and elegant
solutions that will show
you how to add usable
and accessible
interactivity to your site:
from slick drop-down
menus, to style sheet
switchers, to AJAX
applications, and much
more.
More Sample Chapters
Web Development jobs
2006-04-27
Learning Management
Programmer
2006-04-27
Front End Engineer
Small Business
Submit a Job
More jobs and freelance
projects...
WeberDev.com - PHP & MySQL Code examples, tutorials, Classes, web development resources
http://www.weberdev.com/ (2 of 3) [21/05/2006 22:41:48]
Free Casino Games
More Info
Great Information Quick
Seek
Yellow Pages
Free Ebay Marketing
Ebooks
Vista search
WeberDev.com - PHP & MySQL Code examples, tutorials, Classes, web development resources
http://www.weberdev.com/ (3 of 3) [21/05/2006 22:41:48]
the web developer's resource

Webmonkey Q&A: Heather
Gold
Performer and technology
evangelist Heather Gold hopes to
bring the transparency of open source
software and online communities to the
world of personnel management.
Webmonkey's Bryan Zilar asks her how she
helps businesses stay honest with
themselves and their employees. 18 May 2006

Read Monkeybites ...


Check out the Monkey Bites blog hosted by our
friends at Wired News. Join the Webmonkey
staff as we serve up fresh, piping hot stacks of
webdev news and commentary on a daily basis.
chew more bites vist our blog


Debugging with Venkman
Mozilla's open source JavaScript
debugger is one of the most
valuable tools available to web
developers. Venkman has dozens of powerful
features and is fully cross-platform. Chris
Klimas shows you how to use Venkman to
make your client-side scripts sing. Part Two
of our JavaScript debugging
tutorial.17 May 2006

Webmonkey Mailbox: Debugging


and Flying Toasters
In this week's mailbox, responses to
our tips on better JavaScript
debugging. Also, another lesson on why fancy
animations aren't the centerpiece of a quality
user experience. 12 May 2006
recent articles
Sign up for our weekly newsletter, Elbow Grease.

HOW-TO LIBRARY
Authoring
Design
Multimedia
E-Business
Programming
Backend
Jobs
AboutUs
QUICK REFERENCE
JavaScript Code Library
HTML Cheatsheet
Special Characters
Color Codes
Browser Chart
Stylesheets Guide
Unix Guide
Glossary
Domain Registries
Lycos Worldwide Copyright 2005, Lycos, Inc. All Rights Reserved.Lycos is a registered trademark of Carnegie Mellon University.
About Terra Lycos|Help|Feedback|Jobs|Advertise|Business Development
Your use of this website constitutes acceptance of the Lycos Network Privacy Policy and Terms & Conditions.
[an error occurred while processing this directive]
Webmonkey: The Web Developer's Resource
http://www.webmonkey.com/ [21/05/2006 22:42:06]
-> GO ->
The world's most popular open source database

Login / Register
MySQL.com
en
Franais

MySQL.com
auf
Deutsch


Italiana
MySQL.com G
MySQL Network G
Developer Zone G
Partners G
Online Shop G
Products G
Training G
Consulting G
Support G
OEM G
News & Events G
Customers G
Why MySQL? G
How to Buy G
News
Unisys to Deliver New Services
for MySQL Open Source
Database Software
G
MySQL AB Sees Increased
Growth & Momentum in EMEA
G
UN's FAO Selects MySQL as its
Open Source DB Standard
G
Articles
Advanced MySQL Replication
Techniques
G
MySQL 5.1 New Features: G
MySQL AB :: The world's most popular open source database
http://www.mysql.com/ (1 of 3) [21/05/2006 22:42:22]
Search
MySQL Powers the World's
Most Popular Web sites!
Learn how leading organizations are saving over $1 million
using commodity hardware and open source software.
Learn More
MySQL Events
Products
MySQL 5.0 New!
MySQL Cluster
Migration Toolkit
Downloads
Documentation
White Papers
Developer Zone
Jobs at MySQL
Industries
Retail
Case Studies
Telecom
Case Studies
Travel
Case Studies
Embedded
Case Studies
Web Seminars
Embedding and
Bundling MySQL -
Best Practices
Register Now
Cost-Effective
Database Scale-Out
Using MySQL
(replay)
Register Now
MySQL Training
MySQL 5.0
In-depth
Jun 27: Detroit
Jul 25: San
Francisco
Jul 18: London
MySQL 5.0 New
Features
Jun 27: Frankfurt
Aug 28:
Washington DC
Sep 25: London
A Guide to High Availability VOIP
1995-2006 MySQL AB. All rights reserved.
About MySQL G
Careers G
Site Map G
Contact Us G
MySQL AB :: The world's most popular open source database
http://www.mysql.com/ (2 of 3) [21/05/2006 22:42:22]
Privacy Policy G
Legal G
G
MySQL AB :: The world's most popular open source database
http://www.mysql.com/ (3 of 3) [21/05/2006 22:42:22]
Join Up!
74847 members and counting!

Login To PHPBuilder
User Name: Password:
Register A New Site
Account
* NOTE: This is for logging
into the main site
only! To login to the forums,
click here

Linux Today
Enterprise Linux
Today
Apache Today
JustLinux.com
Linux Planet
PHPBuilder
All Linux Devices
Hiermenus
DatabaseJournal
jobs.linuxtoday.com
G
Developer
International
Internet Lists
Internet News
Internet Resources
IT
Linux/Open Source
Personal Technology
Small Business
Windows Technology
xSP Resources
G
PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more.
http://www.phpbuilder.com/ (1 of 6) [21/05/2006 22:43:04]
PHP Manual
Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
Covalent Extends
Apache 2.0 to
Microsoft ASP.NET
ShopWorX - Support
for Windows
PHP Security
Advisory:
Vulnerability in PHP
versions 4.2.0 and
4.2.1
Network Risk
Assessment
Full-Featured,
Java-Based Apache
GUI
G
Partners & Affiliates
Installing PHP under
Xitami
Using cURL With
PHP
Shell Scripting w/PHP
Optimizing Postgresql
PHP Web Blog - Part
3
G
PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more.
http://www.phpbuilder.com/ (2 of 6) [21/05/2006 22:43:04]
HOME G
Community G
Articles G
CodeLibrary G
People G
Mail Archive G
My Account G
Contribute G
PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more.
http://www.phpbuilder.com/ (3 of 6) [21/05/2006 22:43:04]
Open Source Database Feature
Comparison Matrix
G
Try Declarative Programming
with Annotations and Aspects
G
Locate All Stored Procedures
and Their Objects/SQL Tables
G
Building a Stored Procedure
Generator
G
Making Tables Read-only in
Oracle
G
24-hour Support
Daily Backup
Dedicated Servers
JSP/Java Servlets
PHP
MySQL
Streaming Audio/Video
Telnet/SSH
Unix Hosting
24-hour Support
visualEdit Now Available for Free - ActiveCampaign, Inc.
Roadsend PHP Compiler v2.0 Released - Shannon Weyrick
PHPKB Professional Edition 1.5 Launched - Knowledgebase-Script.com
Symfony 0.6.2 Released : AJAX Getting Easier for PHP Devs - Francois Zaninotto
phpYellow Pro Edition 6.06 Launched - Rob
TYPO3 -- Version 4.0 Launched; Setting a New Standard in Appearance and Fun - Michelle Heizer
NuSphere PhpED 4.5 is released - Natalie
[Show All]
In Case You Missed It...The Week of May 15th, 2006
By Elizabeth Naramore
This busy week Elizabeth brings us news about security patches for PHP4 and PHP5, free PHP accounts at Dotgeek, OSCON's
Lightning Talks, a new blog from PHP IDE Eclipse, the release of phpMyAdmin 2.8.0.4, the latest PEAR/PECL releases and much
more!
In Case You Missed It...The Week of May 8th, 2006
By Elizabeth Naramore
This week Elizabeth brings us news on the release of PHP 5.1.3, the announcement of Code Challenge 2006 and the upcoming
PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more.
http://www.phpbuilder.com/ (4 of 6) [21/05/2006 22:43:04]
DCPHP Conference, php|works-db|works Call for Papers, the latest PEAR/PECL releases and much more!
An Introduction to Graphs Using PEAR's Image_Graph Package
By Ian Gilfillan
At some point, most developers find a need to create graphs for their projects. This article looks at PEAR's Image_Graph package,
which is released under the Lesser GPL. Find out how you can create highly customizable graphs with this useful package!
In Case You Missed It...The Week of May 1st, 2006
By Elizabeth Naramore
Our reporter Elizabeth brings us news this week from Zend on their change to a BSD license framework, Jim Plush's blog about the
recent PHP boom, a new CEO for Zend, the latest PEAR/PECL releases and much more!
Using XML, a PHP Developer's Primer: XML-RPC, PHP and Javascript, Part 2
By Adam Delves
This is the second half of an article that began last week on XML-RPC and PHP. This week we put together the PHP RPC server and
learn more about the emailValidator_validate function!
In Case You Missed It...The Week of April 24, 2006
By Elizabeth Naramore
This week Elizabeth brings us news of the upcoming PHP Vikinger code-fest, PHP Gotchas for the "Newb", PHP as an Official
Mentor for Summer of Code, the latest PEAR/PECL releases and much more!
In Case You Missed It...The Week of April 17, 2006
By Elizabeth Naramore
This week Elizabeth brings us news of the release of Zend Guard 4, Davey Shafik's PHP Thinktank, a security alert for
phpMyAdmin, an announcement about Google's Summer of Code, the latest PEAR/PECL releases and much more!
Using XML, a PHP Developer's Primer, Part 4: XML-RPC, PHP and Javascript
By Adam Delves
In this article we will demonstrate how PHP can be used to call upon web services provided by third part sites via an XML-RPC
server. We will also show you how to create your own XML-RPC and use client-side Javascript to invoke procedures in your PHP
scripts.
HOT THREADS
Topic By Replies Updated
word association game jamesm87 2580 Today 10:57 AM
Editor used for PHP Bunkermaster 287 5-17-2006 05:00 PM
New Projects : Announce here Bunkermaster 93 5-12-2006 05:30 PM
New to PHP FatStratCat 44 5-16-2006 02:58 PM
Treasury Dept. announces new $20 bill.... dalecosp 36 5-12-2006 02:26 PM
Problem with file paths Howard007 35 Yesterday 08:00 AM
Ah!! Dell Looks like Apple!! Ahh!! bpat1434 29 5-19-2006 12:26 PM
Building a LAMP server FatStratCat 25 5-15-2006 03:08 PM
SESSIONS..just dont get it.. deezzer 20 5-17-2006 03:47 PM
By the way of xhtml validator and GET whisher06 20 5-17-2006 11:10 AM
NEW THREADS
Topic By Replies Updated
getimagesize unable to open file... workaround? krotkruton 0 Never
Install PHP5 & Apache2.2.2 Homecat 1 Today 10:05 PM
PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more.
http://www.phpbuilder.com/ (5 of 6) [21/05/2006 22:43:04]
Question about Arrays FatStratCat 1 Today 10:01 PM
Caching Dynamic Pages Help. Rodney H. 0 Never
What is needed in HTTP header to output a picture Mgccl 0 Never
PHP5 speed tests... vaaaska 3 Today 09:01 PM
[RESOLVED] Outside htdoc NeedaCart 3 Today 06:22 PM
Advice on passwording folders please Andy-T 0 Never
[RESOLVED] chmod() question. shank 8 Today 07:28 PM
session file appears "locked" - can't call two pages @once sfullman 0 Never
To start viewing messages, select the topic that you want to visit from the selection above.

Columns / Articles | Tips / Quickies | News | News Linking and RSS Feeds | Shared Code Library
Mail Archives | Support / Discussion Forums | Get Started! Links | Contribute! | Docs

JupiterWeb networks:
Search JupiterWeb:
Jupitermedia Corporation has two divisions:
Jupiterimages and JupiterWeb
Copyright 2005-2006 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.
Jupitermedia Corporate Info | Newsletters | Tech Jobs | Shopping | E-mail Offers
PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more.
http://www.phpbuilder.com/ (6 of 6) [21/05/2006 22:43:04]

downloads | documentation | faq | getting help | mailing lists | reporting bugs |


php.net sites | links | my php.net
search for in the
What is PHP?
PHP is a widely-used
general-purpose scripting
language that is especially suited
for Web development and can be
embedded into HTML. If you are
new to PHP and want to get some
idea of how it works, try the
introductory tutorial. After that,
check out the online manual, and
the example archive sites and
some of the other resources
available in the links section.
Ever wondered how popular PHP
is? see the Netcraft Survey.
Thanks To
easyDNS G
Directi G
pair Networks G
EV1Servers G
Server Central G
Hosted Solutions G
Spry VPS Hosting G
eZ systems / HiT G
OSU Open Source Lab G
Emini A/S G
Yahoo! Inc. G
Related sites
Apache G
MySQL G
Call to speaker
for Paris
"Forum PHP
2006"
[17-May-2006] The AFUP,
Association Franaise des
Utilisateurs de PHP, is proud to
announce the upcoming conference
"Forum PHP 2006". For this unique
event in France, we are looking for
the best French speaking experts, who
want to share their know-how and
enthusiasm. This two day conference
features one technical day, with the
most advanced PHP techniques and a
business day, with case studies and
examples of successful projects.
Date and location: the "Forum PHP
2006" will take place in Paris, at the
SNHF (Socit Nationale
d'Horticulture), on Thursday and
Friday the 9th and 10th of November
2006.
Upcoming Events
[add]
May
User Group Events
21. PHP Cairo Meeting
23. New York
23. AzPHP
23. San Antonio PHP Meetup
25. Arabic PHP Group
Meeting
25. Malaysia PHP User Group
Meet Up
25. PHP Beer - Quebec
29. Long Island PHP Users
Group
31. Munich
Conferences
27. Caminhos Certificacao
PHP / Zend
Training
21. AlefBrain PHP Training
2006
22. PHP w/MySQL Bootcamp
- USA
22. Formation PHP-MySQL
22. Formation PHP - Mysql
(Montreal)
23. UK PHP Training
23. Formation LAMP
Rimouski
25. PHP Brasil - Training
PHP: Hypertext Preprocessor
http://www.php.net/ (1 of 12) [21/05/2006 22:43:29]
function list
PostgreSQL G
Zend Technologies G
Community
LinuxFund.org G
OSTG G
Syndication
You can grab our news as an RSS
feed via a daily dump in a file
named news.rss.
NYPHPCon
2006 Program
Announced
[16-May-2006] We are pleased to
announce the speaker, tutorial and
keynote program for NYPHPCon
2006. The New York PHP
Conference & Expo 2006 is taking
place in New York City, at the
historic New Yorker Hotel, June
14-16, 2006. There will be three full
days of sessions, tutorials, exhibits,
and networking events.
We are also pleased to host the IBM
Mashup Contest and Oracle PHPFest,
and a special PHP Training package
at this event.
NYPHPCon 2006 focuses on the The
PHP Business Community, with two
featured parallel tracks plus tutorials:
Business Strategy and Technical
Solutions. Over 400 are expected to
attend, including business and
technical professionals from around
the world.
PHP 5.1.4
Released
[04-May-2006] A critical bug with
$_POST array handling as well as the
FastCGI sapi have been discovered in
29. PHP/MySQL Training in
San Fran.
29. Formation LAMP a
Montreal
29. PHP/MySQL/Apache/IIS
in San Fran
June
User Group Events
1. SDPHP (San Diego, CA)
1. Hannover
1. Meetup Day
1. Omaha PHP Users Group
Meetup
1. PHP London
1. The Houston PHP Users
Group
1. Boston PHP Meetup
1. Melbourne PHP User Group
1. The West Palm Beach PHP
Group
1. Atlanta PHP User Group
1. Manchester UK - PHP
Group
1. EdPUG - Edinburgh PHP
User Group
1. Sydney PHP Group
meetings
1. PHP UG Meetup Auckland
1. PHP Quebec - Montreal
1. Orange County PHP User
Group
2. Kln/Bonn
3. Encuentro PHP en Cceres
(SPAIN)
4. PHP meeting online in
China
6. SW Florida Linux Users
Group
6. PDXPHP monthly meeting
7. Central Iowa PHP Users
PHP: Hypertext Preprocessor
http://www.php.net/ (2 of 12) [21/05/2006 22:43:29]
PHP 5.1.3. A new PHP release 5.1.4
is now available to address these
issues. All PHP users are encouraged
to upgrade to this release as soon as
possible.
Further details about this release can
be found in the release announcement
and the full list of changes is
available in the PHP 5 ChangeLog.
The tarballs were updated to
include the PEAR's phar file,
previously missing from the
release.
PHP 5.1.3
Released
[01-May-2006] The PHP
development team is proud to
announce the release of PHP 5.1.3.
This release combines small number
of feature enhancements with a
significant amount of bug fixes and
resolves a number of security issues.
Some of the key changes of PHP
5.1.3 include:
Disallow certain characters in
session names.
G
Fixed a buffer overflow inside
the wordwrap() function.
G
Prevent jumps to parent
directory via the 2nd parameter
of the tempnam() function.
G
Enforce safe_mode for the
source parameter of the copy()
function.
G
Fixed cross-site scripting inside
the phpinfo() function.
G
Fixed offset/length parameter
validation inside the
substr_compare() function.
G
Fixed a heap corruption inside G
Group
8. Meeting usergroup
Dortmund
8. PHP Usergroup
Frankfurt/Main
8. AproPHP Lille
10. PHP User Group Nanaimo,
BC/CA
13. Hamburg
13. Dallas PHP/MySQL Users
Group
13. Dallas PHP Users Group
(DPUG)
13. Austin PHP Meetup
13. OKC PHP Meetup
14. Wash DC PHP Developers
Group
15. TriPUG
15. OINK-PUG (Cincinnati,
Ohio)
15. Utah PHP Users Group
Meeting
17. Kansas City
17. Los Angeles LAMP SIG
17. Miami Linux Users Group
17. Twin Cities PHP
20. Madison PHP User's Group
21. Miami PHP User Group
21. Broward Php Usergroup
21. Chicago PHP User Group
21. Nashville PHP Users
Group
26. Long Island PHP Users
Group
27. New York
27. AzPHP
27. San Antonio PHP Meetup
28. Munich
29. Arabic PHP Group
Meeting
29. Malaysia PHP User Group
Meet Up
PHP: Hypertext Preprocessor
http://www.php.net/ (3 of 12) [21/05/2006 22:43:29]
the session extension.
Fixed a bug that would allow
variable to survive unset().
G
Fixed a number of crashes in
the DOM, SOAP and PDO
extensions.
G
Upgraded bundled PCRE
library to version 6.6
G
The use of the var keyword to
declare properties no longer
raises a deprecation
E_STRICT.
G
FastCGI interface was
completely reimplemented.
G
Multitude of improvements to
the SPL, SimpleXML, GD,
CURL and Reflection
extensions.
G
Over 120 various bug fixes. G
Further details about this release can
be found in the release announcement
and the full list of changes is
available in the PHP 5 ChangeLog.
Summer of
Code
[01-May-2006] Proposals are now
being accepted for Google's Summer
of Code program. If you qualify and
you are interested in working on a
PHP-related project this summer,
please consider applying. We have
listed a couple of ideas, but we would
encourage you to submit a proposal
for any part of PHP you are interested
in. If your project is accepted we will
match you up with a mentor and try
to provide you with as much support
as possible. To get started, read the
FAQ and then go to Step 1.
Conferences
14. NYPHPCon 2006
23. PHP@Strasbourg Journees
du Libr
24. PHP Vikinger Community
Event
24. PHP at FrOSCon
30. WebTech 2006
Training
1. Curso de PHP Avanzado en
Bilbao
1. Web Programming Using
PHP/MySQL.
1. PHP/MySQL Training in
San Fran.
1. Formation LAMP a
Montreal
4. Ahmedabad PHP Group
Training
5. MySQL Spain
5. Curso PHP Madrid
5. PHP E-Learning/Germany
5. Curso on-line ActionScript /
PHP
5. PHP & MySQL Training in
Kassel
5. PHP & MySQL com
Dreamweaver MX
5. Curso on-line de PHP
5. Formation LAMP a Quebec
5. PHP &
MYSQL-Construindo
WebSites
5. Malaysia : Advanced PHP &
MySQL
6. Curso on-line de
PHP-MySQL
6. EVERY TUESDAY: PHP
Class (FREE!)
8. Intro to PHP
PHP: Hypertext Preprocessor
http://www.php.net/ (4 of 12) [21/05/2006 22:43:29]
PHP at
FrOSCon Call
for Papers
[24-Apr-2006] The faculty for
Computer Science of the college of
higher education Bonn-Rhein-Sieg
celebrates the first conference about
free software in cooperation with the
LUUSA and the FrOSCon e.V. 2006.
The event takes place on June
24th/25th in Bonn, Germany and is
organized completely free and open.
The PHP user groups Kln/Bonn
and Dortmund take part in the
conference and organize a
professional PHP track for both days.
The call for papers is currently open
and every interesting talk is highly
appreciated.
PHP Vikinger
[24-Apr-2006] The PHP Vikinger is a
community-driven PHP event that
will be held in Skien, Norway from
June 24th to 25th. Like the famous
Foo Camp and Bar Camp, the people
who attend get to choose and present
the sessions at the event.
The event is meant to be affordable:
registration is 20 Euros, and simple
food and a place to sleep are provided
for both days of the event. The major
expense for most attendees will be the
cost of traveling to Norway. 50
invitations have been sent to various
PEAR and PHP contributors. General
registration for the event opens on
12. PHP & MySQL Training /
Frankfurt
12. PHP para Expertos Curso
on-line
12. Curso PHP y MySQL
13. PHP Training Philippines
19. PHP & MySQL Training /
Gieen
20. Cursos de PHP en Bilbao
22. PHP Brasil - Training
22. Intro to MySQL
26. PHP/MySQL/Apache/IIS
in San Fran
26. PHP and MySQL
Bootcamp Training
26. Advanced PHP w/MySQL
- USA
27. UK PHP Training
PHP: Hypertext Preprocessor
http://www.php.net/ (5 of 12) [21/05/2006 22:43:29]
May 1st.
International
PHP
Conference
2006 Call for
Papers
[24-Apr-2006] The Call for Papers
for the International PHP Conference
2006, 5th to 8th November 2009 at
Frankfurt/Main Germany, has been
started. The Conference features two
days full with six hours
PowerWorkshops and two days main
conference with sessions.
The main focus of the conference will
be Security through an own security
track. Like last year, we'll provide a
Management Day for businesses
utilizing PHP or evaluating PHP.
The Call for Papers will end at May,
21th.
php|tek 2006
[02-Mar-2006] The php|tek 2006
conference will take place in Orlando,
Florida, April 25-28.
This year's speaker roster features
many well-known PHP and
open-source experts, including
PHP: Hypertext Preprocessor
http://www.php.net/ (6 of 12) [21/05/2006 22:43:29]
Rasmus Lerdorf, IBM's Rod Smith
and Zend's Andi Gutmans, speaking
on a variety of topics that highlight
PHP's scalability, robustness and
future.
PHP Quebec
2006
[26-Feb-2006] The PHP Quebec team
is pleased to announce the 4th edition
of the PHP Quebec Conference. This
year, the conference will be held at
the Montreal Plaza Hotel from March
29th to 31st. It features 2 days of
technical learning and an additional
day of workshop. Among the
speakers, the well known PHP
Experts such has Rasmus Lerdorf,
Andrei Zmeivski, Derick Rethans and
Ilia Alshanetsky.
The conference will have three
distinct tracks of session: Advanced
Techniques, Professional
Development and Databases. With
over 31 sessions, including
workshops, the PHP Qubec
Conference is great opportunity to
learn about the latest PHP techniques
and professional development
techniques to help you build high
quality PHP software. The conference
will also present the various storage
solutions available such has IBM
DB2, PostgreSQL, SQLite and
MySQL.
Early bird pricing are available until
march 3rd.
Learn more about this exciting
PHP: Hypertext Preprocessor
http://www.php.net/ (7 of 12) [21/05/2006 22:43:29]
conference.
NYPHPCon
2006
[02-Feb-2006] The New York PHP
Conference & Expo 2006 is taking
place in New York City, at the
historic New Yorker Hotel, June
14-16, 2006. There will be three full
days of sessions, tutorials, exhibits,
and networking events.
NYPHPCon 2006 focuses on the The
PHP Business Community, with two
featured parallel tracks: Business
Strategy and Technical Solutions.
Over 400 are expected to attend,
including business and technical
professionals from around the world.
We invite everyone - whether
technical or non-technical - to
participate in our Call For Papers.
An early-bird discount is available
until March 1st.
WebTech 2006
Third
Bulgarian PHP
Conference
PHP: Hypertext Preprocessor
http://www.php.net/ (8 of 12) [21/05/2006 22:43:29]
[19-Jan-2006] The third Web
Technology conference and Expo in
Bulgaria will be held in June 2006 in
the city of Sofia. Within its
framework, the Third Bulgarian PHP
Conference will be held. The event
will take place on the 30th of June
and the 1st of July at the conference
area of the Kempinski Hotel
Zografski.
The purpose of this meeting is to
discuss the new tendencies in this
direction and to popularize the
internet technologies in the spheres of
business, education, and services. The
range of subjects includes
technologies like PHP, Perl, business
systems through web, education
through the internet, and others.
FrOSCon 2006
- Call for
Papers
[19-Jan-2006] The first Free and
Open Source Conference "FrOSCon"
takes place on 24th and 25th June
2006 in St. Augustin, near Bonn,
Germany. Organized by a commited
team, it aims to become a significant
event for free software in the
Rhineland. The conference is hosted
by the faculty of computer science of
the University of Applied Sciences
Bonn-Rhein-Sieg in collaboration
with the student body and the
Linux/Unix User Group St. Augustin.
In a Call for Papers, the organizers
ask for submission of contributions.
A broad variety of topics concerning
free and open source software is
PHP: Hypertext Preprocessor
http://www.php.net/ (9 of 12) [21/05/2006 22:43:29]
desired. Particularly welcome are
contributions about programming
languages, free software on the
desktop, security, systems
administration and networks. Aspects
of free software in business and
industry are also a focus of the
conference.
Contributions can be submitted in
English or German and should
summarize the intended talk
concisely and succinctly; talks should
range from 45 to 60 minutes in
length. Deadline for submission is
15th March 2006.
UK PHP Conference 2006
UK PHP
Conference
2006
[17-Jan-2006] The first UK PHP
Conference is going to be held on
February 10th 2006, organized by the
PHP London user group. This is a one
day event at South Bank University,
plus networking events. The list of
speakers: Derick Rethans, Pawel
Kozlowski, Harry Fuecks, Chris
Kunz and Matt Zandstra. Not bad for
50 quid.
PHP 4.4.2
Released
[13-Jan-2006] The PHP development
PHP: Hypertext Preprocessor
http://www.php.net/ (10 of 12) [21/05/2006 22:43:29]
team is proud to announce the release
of PHP 4.4.2. This release address a
few small security issues, and also
corrects some regressions that
occurred in PHP 4.4.1. All PHP 4
users are encouraged to upgrade to
this release. Some of the key changes
of PHP 4.4.2 include:
HTTP Response Splitting has
been addressed in the header()
function.
G
An XSS problem inside the
error reporting functionality
has been removed.
G
Apache 2 regression with
sub-request handling on
non-Linux systems has been
fixed.
G
A regression with the key() and
current() functions have been
fixed.
G
Over 30 various bug fixes. G
Further details about this release can
be found in the release announcement
and the full list of changes is
available in the PHP 4 ChangeLog.
PHP 5.1.2
Released
[12-Jan-2006] The PHP development
team is proud to announce the release
of PHP 5.1.2. This release combines
small feature enhancements with a
fair number of bug fixes and
addresses three security issues. All
PHP 5 users are encouraged to
upgrade to this release. Some of the
key changes of PHP 5.1.2 include:
HTTP Response Splitting has
been addressed in ext/session
and in the header() function.
G
PHP: Hypertext Preprocessor
http://www.php.net/ (11 of 12) [21/05/2006 22:43:29]
Fixed format string
vulnerability in ext/mysqli.
G
Fixed possible cross-site
scripting problems in certain
error conditions.
G
Hash & XMLWriter extensions
added and enabled by default.
G
Upgraded OCI8 extension. G
Over 85 various bug fixes. G
Further details about this release can
be found in the release announcement
and the full list of changes is
available in the PHP 5 ChangeLog.
News Archive
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright 2001-2006 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sun May 21 18:20:41 2006 PDT
PHP: Hypertext Preprocessor
http://www.php.net/ (12 of 12) [21/05/2006 22:43:29]

Você também pode gostar