SlideShare uma empresa Scribd logo
1 de 205
Baixar para ler offline
!
" !
# $ $ %& '
( )
*
+ ,-
./
0
1 %2
!
1 %2
3
4 %2 3
+ ,5
./
0
!
6 7 3
8 3! 7
# 7
8 3! ! 3!
! &
, 7 7
9 7 9 7 7 79 0
%& 7 %& ! 3!
1
! 3!
+ ,:
./
0
%2
3 # ;
8 %2 , 7 " 7 0
< ! %2
!
)
&
< !
!
+! 2
1 %2
< ! %&
+ ,/
./
0
#= ! %
%2 "
! ! )
> ;7 <
+
4; %2
41
# 3 4 ?
@ 4
A ,-
.5
0
< * !' 4
! ;
( 3 ?
3
A ,5
.5
0
+
$
4
%2
&
# =
ZEND_API zend_object_value
zend_objects_new(zend_object **object,
zend_class_entry *class_type TSRMLS_DC)
{
zend_object_value retval;
*object = emalloc(sizeof(zend_object));
(*object)->ce = class_type;
retval.handle = zend_objects_store_put(*object,
(zend_objects_store_dtor_t)
zend_objects_destroy_object,
(zend_objects_free_object_storage_t)
zend_objects_free_object_storage, NULL TSRMLS_CC);
retval.handlers = &std_object_handlers;
(*object)->in_get = 0;
(*object)->in_set = 0;
return retval;
}
Fonte: www.php.net
! B
C ! ! D
# %2 C !D
9 ! 9 7
C !D
! B
+ %2 E+
GET /index.html HTTP/1.1
From: sscf@cin.ufpe.br
User-Agent: IE/5.0
HTTP/1.1 200 OK
Date: Fri, 20 Apr 2004 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354
<html>
<body>
<h1>Curso de PHP</h1>
...
</body>
</html>
! B
!"
# $ $
= 6!
<html>
<head>
<body>
Hello World!
</body>
</html>
F , 4 2 0
G2 H ?
A
Forma canônica Forma abreviada
...
<?
comandos;
?>
...
...
<?php
comandos;
?>
...
= # ; I =
J J
B
<HTML>
<HEAD>
<TITLE>Hello</TITLE>
</HEAD>
<BODY>
<?php
echo("Hello world!");
?>
</BODY>
</HTML>
6
Hello world!
Saída no browser
Código HTML gerado
<HTML>
<HEAD>
<TITLE>Hello</TITLE>
</HEAD>
<BODY>
Hello world!
</BODY>
</HTML>
4 6
4 6
% 4 6 -
7
5 :
A
! B ,< 7
1
17 0K
'..999
1 ,< ! 2 L
0K
'..999
> , 7 7 7 0
'..999
! B
!"
#
#
% &
'
(
'
) *+
!
# 6
<
B :
5
3 "
'.. . " . !
L
,(
GM
0
4 6
> 4 !
'.. 9 . !
L
. !
/
N
L
G#
4A 9
@ 'O O !
O
O O
'O ! 'O O !
O
+ !
N
<
G
= ,@
;;0
(
1, P 0
! 3!
; 4E< E E $
" 2 7
,;1 0
C D C D
M ! ! ,
3 0 ?
1
* %,
*" * %
Hello
<?php
echo “World”;
?>
1
! ! !
# ; ,1 0
Q 7
Q 7
Q 7
!
# ;
4
<?php
if ($expression) {
?>
<strong>Isso é verdadeiro.</strong>
<?php
} else {
?>
<strong>Isto é falso.</strong>
<?php
}
?>
!
6
!
6
%2
<?php
echo "ae, ";
echo "td ";
echo "blz?" // última instrução
?>
1 3
<?php
echo "Isto é um teste"; //Comentário de uma linha
/* Isto é um comentário de mais de uma linha
e aqui temos outra linha */
echo "Isto é um outro teste";
echo "O último teste"; #Comentário no estilo Unix shell
?>
! C ! D 6 # ; ,> 9 0
<?php
echo("<h1>Introdução</h1>");
print("<p>bla bla</p>");
echo("Autor: Fulano")
?>
8 3!
M % = $
2 !
R RG ! 3!
% R 7 6
2 H
8 3!
2 ! 3!
3S ,# ? 0
$idade $_nome $i
$3idade $primeiro-nome
<?php
$str = "José"; // $str armazena o tipo string.
$i = 12; // $i armazena o tipo inteiro.
$f = 3.1415; // $f armazena o tipo ponto flutuante.
?>
8 3!
+ 4
+
1
"
+ ! 3! !
GM
;;
+ %&
<
M 4 ! !
>
TU
GH 7 /-
5
M H "
VWX 7
S5
7
S-
7
Y
7
-
7
5
7 Z
1
1
+ H 3
8 S5-
/
[/

:]
/
^ 5-
/
[/

:]
/
[
<?php
$a = 1; # número decimal
$a = -2; # um número negativo
$a = 0123; # número octal (83 em decimal)
$a = 0xF; # número hexadecimal (15 em decimal)
$a = 7*12 + 6/3; # saída: 86
?>
3
#
6 -
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
<?= floor((0.1+0.7)*10) == 7 ?>
,- 0' G2
CD , 07
_` ,
0 a
a, 0
@ _` , 0
8 3! 2 2 4
!"#
$
%
& #
' % (
$%) $ *
+,
<?php
$id = 12;
$query = ‘SELECT * FROM FUNCIONARIO WHERE ID=$id’;
echo($query);
?>
@ CD , 0
< ! 3! 2 4
!"#
$
%
& #
' % (
$%) $ *
+-
.
<?php
$id = 12;
$query = "SELECT * FROM FUNCIONARIO WHERE ID=$id";
echo($query);
?>
@ aa, ! 0
4 H
6
<?php
$a = `time`;
echo $a;
?>
/
b
+
+
b
b
b
b
b
<
<
2
> !
# $
+
G !
+
+
b
+
+
+
+
+
+
+
+
+
+
O`
OR
O
O
O
OO
OD
4 6
% 4 6 / L
<
S ! 6 "
, % Y
0
b
a2c
Saída gerada:
<?php
$str = "abc";
echo $str{1};
echo "<br>";
$str{1} = '2';
echo $str;
?>
%2
<?php
$str1 = "ab";
$str2 = "c";
$concat = $str1 . $str2;
?>
! 2
# ! 7 2
! Y
<?php
$foo = 1 + "10.5"; // $foo é float (11.5)
$foo = 1 + "-1.3e3"; // $foo é float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo é integer (1)
$foo = 1 + "bob3"; // $foo é integer (1)
$foo = 1 + "10 Small Pigs"; // $foo é integer (11)
$foo = 4 + "10.2 Little Piggies"; //$foo é float(14.2)
$foo = "10.0 pigs " + 1; // $foo é float (11)
?>
>
+ !
M ! ! < 2
!
<?php
$foo = True; // assimila o valor TRUE para
$foo
?>
>
G $ "
<?
$bool = 3 > 0; // $bool = TRUE;
if ($bool == True) {
echo ("Entrou no if!");
} else {
echo ("Entrou no else!");
}
?>
<
%2
4 H
<
G2 3 $
<?php
$produtos[0] = "Pneu"; /* Equivalente a
$produtos[0] = "Pneu“ e implicitamente o array
foi criado */
$produtos[1] = "Oleo";
$produtos[2] = "Luva";
?>
<
1 4 H
<?php
$produtos = array(“Pneu", “Oleo", “Luvas");
echo $produtos[1];
?>
<
M $
! '
! '
array( [chave =>] valor
, ...
);
<
G2 3 $
<?php
$produtos[] = "Pneu"; /* Equivalente a
$produtos[0] = "Pneu“ e implicitamente o array
foi criado */
$produtos[1] = "Oleo";
$produtos[] = "Luva";
?>
<
< < !
<?php
$precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>4);
$precos["Capo"] = 300;
echo $precos["Oleo"];
?>
<
<?php
$produtos = array("Pneu", "Oleo", "Luvas");
$precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>41);
sort($produtos);
asort($precos); // ordena por preco
ksort($precos); // ordena por nome
?>
<
4 '
< = '
<?php
$a = array("José", 4=>"Joaquim", "Maria");
$b = array("Id2" => "José", "Id10" => "Maria");
?>
+
+ C 4 D
4 '
M 4
2
M !
4 '
<?php
$handle = fopen (“curso.txt", "r");
?>
GM
;;
+ ! 3! ! 2 $
F 6! , W
WG 0
4 '
<?php
$raiz_quadrada = ($i > 0) ? sqrt($i) : null;
?>
8 3! ! 3!
H ! 3! !
! 3!
<?php
$a = "gambiarra";
$$a = "Isso é ceboso!";
echo $gambiarra;
?>
! &
" U
<?php
$foo = "123"; // $foo eh uma string
$bar = (int) $foo; // $bar eh um inteiro
?>
! &
7 I
I
7
< ! & 2'
, 0 S
, 0 S
, 0 S H
, 0 S
, 0 S
, " 0 S "
! &
G 4 47 3
<?php
$dez = 10;
$str_dez = "10";
$dez_e_meio = 10.5;
$dez_e_meio_conv = (int) $dez_e_meio;
if ($dez_e_meio_conv === $dez) {
echo('$dez_e_meio_conv e $dez são idênticos.<br>');
}
$str1 = "$dez";
$str2 = (string) $dez;
if ($str1 === $str2) {
echo('$str1 e $str2 são idênticos.<br>');
}
if ($dez == $str1) {
echo('$str1 e $dez são equivalentes.<br>');
}
?>
! &
Y
7
-
7 Y
<?php
$foo = 10; // $foo eh um inteiro
$bar = (boolean) $foo; // $bar eh um booleano
if ($foo) {
echo("teste");
}
?>
< ,K
7
.7
I
7
S0
%2 ,W
W
7
cW
7
d
7
e
7
d
W
7
e
W
7
W
W
W
0
%2 , 0
;= ,c7
E
E
7
f
f
7 7
4 7 0
< %2 ,W
7W
7
I
I
7
SS7
I
W
7
SW
0
9
9
9
1
if ($a > $b) {
echo "a é maior que b";
}
4 %2
=
4 '
if (expressao) {
instrucoes;
}
1
if ($a > $b) {
echo "a é maior que b";
} else {
echo "a NÃO é maior que b";
}
B
$i = 1;
while ($i <= 10) {
echo $i++; /* o valor impresso será
$i depois do acréscimo
(post-increment) */
}
while (expressao) {
instrucoes;
}
%2
4 -
'
@ 9
$i = 10;
do {
echo $i;
$i++;
} while ($i < 10);
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
for (expr1; expr2; expr3) {
instrucoes;
}
%2
4 -
'
4 5 4 :
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
} else if ($i % 2 == 0) {
continue;
}
echo $i;
}
1 %2
4 /
<?php
$array = array("a", "b", "c");
foreach($array as $valor) {
echo($valor);
}
$mapa = array("banana" => 1, "carne" => 10);
foreach($mapa as $chave => $valor) {
echo "<BR>";
echo $chave . " -> " . $valor;
}
?>
4 5
' 1 $
<?php
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) { // Para cada linha
foreach ($v1 as $v2) { // Para cada elemento da
linha
echo "$v2n";
}
}
?>
9
swich (expressao) {
case valor1:
Instrucao1;
break;
case valor2:
Instrucao2;
break;
case valor3:
Instrucao3;
break;
default:
InstrucaoDefault;
}
!
3 %& 1
9
4
if ($i == 0) {
echo "i igual a 0";
} elseif ($i == 1) {
echo "i igual a 1";
} elseif ($i == 2) {
echo "i igual a 2";
}
switch ($i) {
case 0: echo "i igual a 0";
break;
case 1: echo "i igual a 1";
break;
case 2: echo "i igual a 2";
break;
}
4 6
% 4 6 ]
%&
3 %2
G2
G2 3
<?php
$a = criarArray();
function criarArray() {
return array("Jose", "Maria");
}
?>
%&
%&
<?php
$n = fatorial(3);
function fatorial($num) {
return ($num)*fatorial($num-1);
}
?>
%&
? =
G2 ,@ %&
0
%2 6!
4 6
% 4 6 [
%& ! 3!
< ! 3! ! 3! 7 %&
4 '
<?php
$func = 'foo';
$func(); // Chama foo()
$func = 'bar';
$func('test'); // Chama bar()
function foo() {
echo "Chamou foo()<br>n";
}
function bar($arg = '') {
echo "Chamou bar(); com argumento '$arg'.<br />n";
}
?>
1 %& !
! 4
F H ! = !
3 ! 7
6
1 =
<?php
include("util.php");
$str = char2String('1'); // $str=“Sim”;
?>
util.php
<?php
function char2String($c) {
return ($c == '1') ? "Sim" : "Não";
}
?>
1 =
<?php
...
if (!$senhaValida) {
require("SenhaInvalida.html");
}
?>
SenhaInvalida.html
<HTML>
<HEAD></HEAD>
<BODY> Usuário e/ou senha inválido(s). </BODY>
</HTML>
! 3! ! 7
3 6! ! !
vars.php
<?php
$color = 'green';
$fruit = 'apple';
?>
test.php
<?php
echo "A $color $fruit";
include 'vars.php';
echo "A $color $fruit";
?>
N N
include_once();
require_once();
1 ! !$
g ! 5 %& %2. 7
N N c
3 N
N
Pai.php
FilhoEsq.php FilhoDir.php
Neto.php
Definição de f()
Redefinição de f()
4 6
% 4 6
! 3!
"
-
Superglobais
! 3!
; '
@ %2
%2
<?php
function abc() {
$a = 1;
}
abc();
echo $a; /* Dá erro porque $a não foi definida no
escopo global*/
?>
! 3!
(
# ! S !
<?php
$a = 1;
include "b.inc"; // $a pode ser referenciada
echo $a;
?>
! 3!
(
<?php
$a = 2;
function imprime() {
echo $a; // Em php 4x dá erro
}
echo $a; // Funciona pois a é global
imprime();
?>
! 3!
8 3! , 0
RN 1G ,< $ 20
RN #7
RN
( # ,< $ 3 0
RN1
; ,< $ ! 0
RN +
8 + ,1 %& 7 0
R(
; >
<
; ,< $ ! 3! 0
RN +
8 +
%&
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
$useragent = $_SERVER['HTTP_USER_AGENT'];
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo $ipaddress . '<BR>';
echo $useragent . '<BR>';
echo $lang. '<BR>';
?>
! % ##
+ 3
function header();
<?php
header("Location: principal.php");
?>
GET /index.html HTTP/1.1
From: sscf@cin.ufpe.br
User-Agent: IE/5.0
Location: principal.php
Requisição
Location: principal.php
Requisição de index.php
Requisição de principal.php
H
<?php
header(“HTTP/1.0 404 Not Found");
?>
<?php
header(“Content-Type: image/jpeg");
?>
M c
<?php
$conteudo = readfile($_GET['nome']);
header("Content-Type: image/jpeg");
echo $conteudo;
?>
4 6
# 0 1 2 -
3
3
%2
7
!
3 6! ! 7
H !
3
<FORM ACTION= "processar.php" METHOD=“post">
<INPUT TYPE=text NAME=email>
<INPUT TYPE=text NAME=nome>
<INPUT TYPE=submit NAME=botao VALUE=enviar>
</FORM>
processar.php
<?php
echo "Obrigado por enviar os dados " . $_POST['nome'];
echo "Seu email é: " . $_POST['email'];
?>
( 4 5 /
Código HTML
Código PHP
4 6
% 4 6 -
- -
5
# ;
#
# C D
%2
<form action=“handlerCadastro.php" method="get">
</form>
( 4
&6 7
# ;
José
4
' ! RN
( # RN #
! ' ! RN
( # RN #
' C 4D 4
' ! RN
( # RN #
! ' ! RN
( # RN #
' C 9 D
<input name="nome" type="text">
******
<input name="senha" type="password">
$_GET['nome'] == "José";
$_GET['senha'] == "123456";
# ;
>
' ! RN
( # RN #
! ' ! RN
( # RN #
' C D 7 ! ! !
C D
<input type="submit" name="btn1" value="Enviar">
<input type="reset" name="btn2" value="Resetar">
4 6
% 4 6 -
:
# ;
)
>4
' ! RN
( # RN #
! ' ! RN
( # RN #
' C 4D 4
+ >
& , 4 7 40
! ! C D
<input name="sexo"
type="radio" value="m">
<input name="notificacao"
type="checkbox“ value="1">
$_GET['notificacao'] == "1";
$_GET['sexo'] == "m";
. / . . 0 1
1
2 %,
, 3
4
4
# ;
4
<?php
if (isset($_GET['notificacao']) {
$notificacao = $_GET['notificacao']; /* $notificacao
= "1"; */
...
}
if (isset($_GET['sexo'])) {
$sexo = $_GET['sexo']; // $sexo = "m";
...
}
?>
# ;
# 4<
<textarea name="nome" cols="10" rows="5"></textarea>
$_GET['nome'] == "texto digitado";
# ;
<select name="logins[]" size=“3" multiple>
<option value="sscf">sergio</option>
<option value="jts">jose</option>
<option value="aas">antonio</option>
</select>
<select name="login">
<option value="sscf">sergio</option>
<option value="jts">jose</option>
<option value="aas">antonio</option>
</select>
# ;
G 4
<?php
...
$logins = $_POST['logins'];
foreach($logins as $login) {
...
}
?>
4 6
% 4 6 -
/
8 %2
8 4 3
M 3 6
$ %2cc
<! %2 ! ,h ! 0
! , 0
G 3 $ ! %2 ! 7
c
8 %2
4
3
8 %2
4
<
<?php
echo($_POST['nome']);
echo("<br>");
echo($_POST['habitos']);
?>
8 %2
4 '
M 3 C D
8 %2
4 '
< ! 3
4 6
% 4 6 -
L -
]
# ;
M !
3
<form enctype="multipart/form-data"
action="actionArquivo.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="200">
Enviar este arquivo: <input name="userfile" type="file">
<input type="submit" value="Enviar Arquivo">
</form>
# ;
M !
<
<?php
$uploaddir = "c:tempuploads";
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'],
$uploadfile)) {
print "O arquivo é valido e foi carregado com
sucesso. Aqui esta alguma informação:n";
} else {
print "Possivel ataque de upload! Aqui esta alguma
informação:n";
}
?>
4 6
% 2 -
[
( P
(
H 9
? 2 ! =
< '
A W
" E W
? 2 ! "
%2
G2
F
%&
F
G $ 'O9 9
% '
! '
N
N N
N
#
N
4
N 4
N $
N N
Q
4
40
0
!
+ ! 7 3
4 '
bool mail ( string para, string assunto, string mensagem [,
string cabecalhos_adicionais])
mail("destino@mer.com", "Assunto", "Ae mermao blz?");
!
' G , 0 , 0
' <
'
N '
>
+ S
S#
PS
%2
%2
<?php
function enviarEmail($de, $para, $assunto, $corpo) {
mail($para, $assunto, $corpo, "From: $dernReply-To:
$de") or die('Erro ao enviar email');
}
?>
4 6
% 4 6 -
[
)
1 %& $
# 7
!
$
!
U
S
Ocupacao estudante
8 / 14 9: :
)
Set-Cookie: Ocupacao=estudante
%
!
www.google.com
Cookie:google.com
$_COOKIE['Ocupacao'] == "estudante";
)
) %
) 4 %2 7
%2 )
$%2
)
! )
bool setcookie ( string nome [, string valor [, int
tempoExpiracao]])
Nome : nome do cookie
Valor: valor do cookie
TempoExpiracao: tempo de vida do cookie
; 05
< 5 4 0 !
!
)
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1354
Set-Cookie: Ocupacao=estudante
<html>
<body>
<h1>Curso de PHP</h1>
...
</body>
</html>
GET /index.html HTTP/1.1
From: sscf@cin.ufpe.br
User-Agent: IE/5.0
Cookie: Ocupacao=estudante
Resposta
Requisição
)
4 '
<?php
$value = ‘aluno';
setcookie ("Ocupacao", $value);
/*expira no final da seção (Quando o browser fechar)*/
setcookie ("Ocupacao", $value,time()+3600);
/* expira em uma hora */
?>
)
Q 9 7
%2 ) 7 2
! 3! RN b
1
G 4 '
<?php
if (isset($_COOKIE['Ocupacao']) &&
$_COOKIE['Ocupacao'] == "estudante") {
enviarSpam();
} else {
efetuarDesconto();
}
?>
4 6
% 4 6 -
&
7
! $ ! 7
3
) 7 $
%27 2
9
&
session_start();
2
2 2
! ) ! 3! ( #
%2 !
%2 "
&
( 7
! ! 3! 2
<?php
session_start();
$_SESSION['nome'] = "José"; // Manda setar a variável
?>
&
setCookie("PHPSESSID", "43b");
*43b
www.google.com
Cookie:google.com session_start();
$_SESSION['nome'] = "José";
( / =
>
?
4
8 / *
+>
?
4
Gera um número
aleatório por exemplo
‘43b’.
@ 6
&
! !
<?php
session_start(); // precisa ser chamada antes.
echo "Seu nome é" .
$_SESSION['nome']; /* recupera o valor que veio
junto com a requisição */
?>
) 4 %&
& 2 $
7 3
! $ )
%& !
"
2 ) 7
!
2 )
< 2 C D ! U
9
) C!
! D
< 1 "
%2 # %2
! !
G "
%2
&
)
< %&
)
! 3 ! !$
3
&
< $ %& 3 , 7 7 7 0
! 7
4 6
% 2 -
i
< !
%&
,0j
,0j
9 ,0j
,0j
,0j
< !
, !7 0j
< ! !
'
C D'
C9D' # "
3 4
4 '
<?php
$handle = fopen ("info.txt", "r");
?>
< !
, !k
7 l
0j
;U =4 ,H 0
" 7U =4
+
< !
9 , !7 0j
H !
<
;
< !
, !0j
+ !
3
< !
, !0j
+ 7 3
< !
4 '
<?php
$arq = fopen("teste.txt", "r");
while (!feof($arq)) {
$str = fgets($arq);
echo $str;
echo "<br>";
}
fclose($arq);
?>
< !
4 '
<?php
$arquivo = fopen("saida.txt", "w");
fputs($arquivo, "ae veirn");
fputs($arquivo, "bla blarn");
fclose($arquivo);
?>
4 6
% 2 5
Y
! >
A
# ? H 3
-5
(
>
@
+
F $
!
M 7
!
3
(
>
@
!
Q
;
Q ;
C 2D
8 2 !' Q
;i
i
Q ;
# S
73 4 ! $
2 i
i
# / AAA B
-
7
S-
5
7
-
/
-
GH
.
-
7
5
7
:
7
/
7
L
7
]
7
GH
U
1
N
`-
5
'-
-
'Y
/̀
m ' ' m
_ `7
_ `
!
_ `
4.
m
n
n
n
n
S S@
@
' ' m
m
n
n
n
n
S S@
@
m
GH
6
_-
i

:
SY
-
S-
i5
5
'-
5
'-
5̀
_-
i

:
SY
-
S-
ì
7
-5
:
7
:-
/
4
G
Q
;
#
1
M
@
#
CREATE TABLE Jokes(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
JokeText TEXT,
JokeDate DATE NOT NULL
)
4
4
CREATE TABLE nome_tabela (
nome_coluna tipo modificadores, ...
)
1
4
4
8 1
@W-
7 4
! 3 1
@W5
1
INSERT INTO Jokes (JokeText, JokeDate)
VALUES (‘Why did the chicken cross theroad? To get to the
other side!’,
‘2000-04-01’)
INSERT INTO destino [(campo1, campo2,...)]
VALUES (valor1, valor2,...)
SELECT ID, LEFT( JokeText, 20 ) ,
JokeDate
FROM Jokes
+ "
4
SELECT JokeText, JokeDate
FROM Jokes ORDER BY ID
M
< $
4
4
UPDATE nome_tabela
SET nome_coluna = novo_valor
WHERE condicao
UPDATE Jokes
SET JokeDate = '1990-04-01'
WHERE JokeText LIKE '%chicken%'
@
@ , 0
4
4
DELETE FROM nome_tabela
WHERE condicao
DELETE FROM Jokes
WHERE JokeText LIKE '%chicken%'
! (
>
@
4 '
@ ! !
@
>
@ ! !
C 6 D (
>
@
4 3
6 -5
@
>
@ !
2
< (
>
@ %2
# $ , @
> 0
6 (
>
@
! 3
6 4 5 -5
@ ! G !
%&
mysql_connect();
mysql_select_db();
mysql_query();
mysql_affected_rows();
mysql_insert_id();
mysql_num_rows();
mysql_fech_array();
@ ! G !
resource mysql_connect(host, login, senha);
<?php
$con = mysql_connect("localhost", "user", "user");
?>
1 /
+ 4
2
1 /
bool mysql_select_db (string nome_base [, resource
id_conexao])
<?php
$con = mysql_connect("localhost", "user", "user");
mysql_select_db("nome_da_base");
?>
4 Q
4
'
+ 4 %2 7
3
7 7
# 7 3
resource mysql_query ( string sql [, resource
id_conexao])
4 Q
1 /
<?php
$con = mysql_connect("localhost", "user", "user");
mysql_select_db("nome_da_base");
$resultado = mysql_query("SELECT * FROM usuario");
?>
<?php
$con = mysql_connect("localhost", "user", "user");
mysql_select_db("nome_da_base");
mysql_query("UPDATE usuario SET nome='jose' WHERE
id=2");
?>
4 Q
+ 1
@ %2
int mysql_insert_id ( [resource
link_identifier])
<?php
mysql_query("INSERT INTO usuario (nome, endereco) values
('jose', 'avenida ...')");
print("O ultimo registro incluído tem id %dn" .
mysql_insert_id());
?>
+ " 7
3
:!
Q
;N
GM ' + 4 6
Q
;N
< ' + 4
Q
;N
> # ' < F %2
int msql_fetch_array ( int id_resultado [, int
tipo_array])
4
<?php
$con = mysql_connect("localhost", "user", "user");
mysql_select_db("nome_da_base");
$resultado = mysql_query("SELECT nome,endereco FROM
usuario");
while ($funcionario = mysql_fetch_array($resultado)) {
echo $funcionario['nome'];
echo $funcionario['endereco'];
}
?>
+ H
int mysql_num_rows ( resource id_resultado)
<?php
$result = mysql_query("SELECT * FROM usuario");
$num_rows = mysql_num_rows($result);
?>
@ ! ! H
int mysql_affected_rows ( [resource id_conexao])
mysql_query("DELETE FROM usuario WHERE nome like %jose%'");
print("Registros excluídos: %dn" . mysql_affected_rows());
4 6
% & 5
-
7
5
5
7
5
:
7
5
/
"
G 4
M " '
' %& " 4
' 1 %&
, 7 % 0
4 ' 7
F ! 3!
"
4 ' 2
"
/
'
G2 " ,G " A0
G2 3 , 2 H 0
G2 3 4 %&
L
'
" 7
4
2
8 3! , 0
%& , %& 0
4
class nomeDaClasse {
// variáveis
// funções
// construtores
}
4
4 '
class UsuarioSessao {
var $nome;
var $login;
function salvar() {
session_start();
$_SESSION['login'] = $this->login;
$_SESSION['nome'] = $this->nome;
}
function ler() {
session_start();
$this->login = $_SESSION['login'];
$this->nome = $_SESSION['nome'];
}
function UsuarioSessao($login, $nome) {
$this->login = $login;
$this->nome = $nome;
}
}
4
6
4
"
$us = new UsuarioSessao("sscf", "Sergio");
$us->salvar();
echo $us->nome;
# )
%2 , ) 0 = %2
2 $
3
" # 3 =
# ; = %27
6 , 0
<?php
...
if ($_GET['operacao'] == "Cadastrar") {
$coditarefa = -1; //gambirarra para o select la debaixo
$agora = getdate();
$dia = $agora['mday'];
$mes = $agora['mon'];
$ano = $agora['year'];
$nome = "";
$duracao = "";
$descricao = "";
} else {
$coditarefa = $_GET['coditarefa'];
$result_tarefa = $bd->executarQuery("select nome, descricao, EXTRACT(DAY FROM dataInicio) as dia,
EXTRACT(MONTH FROM dataInicio) as mes, EXTRACT(YEAR FROM dataInicio) as ano, DAYOFYEAR(dataFim) -
DAYOFYEAR(dataInicio) as duracao from tarefa where coditarefa=$coditarefa;");
$tarefa = mysql_fetch_array($result_tarefa);
$nome = $tarefa['nome'];
$dia = $tarefa['dia'];
$mes = $tarefa['mes'];
$ano = $tarefa['ano'];
$duracao = $tarefa['duracao'];
$descricao = $tarefa['descricao'];
}
>?
<html><head><title>Tarefa</title>
<script language="JavaScript">
function carregarCampos() {
document.forms[0].nome.value = "<? echo $nome; ?>";
document.forms[0].duracao.value = "<? echo $duracao; ?>";
document.forms[0].ano.value = "<? echo $ano; ?>";
document.forms[0].descricao.value = "<? echo $descricao; ?>";
dropdown = document.forms[0].dia;
dropdown.options[0].selected = false;
dropdown.options[<? echo $dia; ?>].selected = true;
...
}
</script>
</head>
...
# )
4 '
<select name="logins[]" size=4 multiple>
<?
if ($_GET['operacao'] == "Cadastrar") {
$usuarios = $bd->executarQuery("select login,nome from usuario;");
while (($usuario = mysql_fetch_array($usuarios))) {
echo "<option value=" . $usuario['login'] . ">" . $usuario['nome'];
}
} else {
$usuarios = $bd->executarQuery("SELECT u.nome, u.login, tu.coditarefa FROM
usuario as u LEFT JOIN tarefa_usuario as tu ON u.login = tu.login and
tu.coditarefa=$coditarefa;");
while (($usuario = mysql_fetch_array($usuarios))) {
$out = "<option value=" . $usuario['login'];
if ($usuario['coditarefa'] != null) {
$out .= " selected";
}
$out .= ">" . $usuario['nome'];
echo $out;
}
}
?>
</select>
# )
%2
@! 5 '
< %2
4 # !
'
template.htm
<html>
...
<?php echo $msg ?>
...
<html>
...
“Você já votou”
...
processamento.php
<?php
$msg = "Você já votou";
include(“template.htm");
?>
# )
$
%2 %2 =
$ $%27 $%2
,9 0
# )
8 4 %2 )
4 %& '
# ;N
# N 4'
'.. . ) . # ;N
# N 4
' '.. .
! ' '.. ! .
<
+
4 < +
S 3
2 %2
'.. . . .
;
+ = 4 &
Q
;
V
+
V
!
%
% & ! '
# / /C
C
AAA D C C C
D E ; E AE EA 8 F-
( D
G
$
& 6
G :
V , 0
V , 0
1 %2
1 !,< I I 0
'.. . " . !
L
h3 ! %2
! 4 2
< 7 7
!
AddType application/x-httpd-php .phtml .php
Action application/x-httpd-php /php/php.exe
ScriptAlias /php/ "d:/php/"
@
1
@
G @, 0
'..999 .
@
+ U
9 ) 9 )'
'.. 9 9 ) . ) .
V '..999 $ . . .$ S
S )
! G #
'.. . . . N
) '.. ) .
;< ' '..999 .
## ' '.." . . .
' '..999
+ U
M '
'..999 . . A W
:
-

/
Y
+ 5
]
-
]' # ;-- '..999 . . 5
]
-
] 4
" S '
'.."! . . ). ."!. .
@
> ' '..999 9 .# + . . @
>
Q
;'
'.. ! . . . . N 4
+ U
> @ S@ ! B M Q
;
'.. ! . S . . 9 .-
Y
## ) '
'..9 . 9 . . ) N

Mais conteúdo relacionado

Semelhante a apostila.pdf

modernizando a arquitertura de sua aplicação
modernizando a arquitertura  de sua aplicaçãomodernizando a arquitertura  de sua aplicação
modernizando a arquitertura de sua aplicaçãoAntonio Spinelli
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsGuilherme Blanco
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantesEduardo Mendes
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesCarlos Santos
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que pareceImpacta Eventos
 
Computação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e ScipyComputação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e ScipyMarcel Caraciolo
 
Programação web ii aulas 06 e 07
Programação web ii   aulas 06 e 07Programação web ii   aulas 06 e 07
Programação web ii aulas 06 e 07Yuri Bispo
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaJonata Weber
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
Pgads42
Pgads42Pgads42
Pgads42csmp
 
Pg2
Pg2Pg2
Pg2csmp
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)Silvano Oliveira
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHPigorpimentel
 
Módulo 5 análise das demonstrações contábeis
Módulo 5   análise das demonstrações contábeisMódulo 5   análise das demonstrações contábeis
Módulo 5 análise das demonstrações contábeisPUC Minas
 

Semelhante a apostila.pdf (20)

modernizando a arquitertura de sua aplicação
modernizando a arquitertura  de sua aplicaçãomodernizando a arquitertura  de sua aplicação
modernizando a arquitertura de sua aplicação
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 
Aula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQLAula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQL
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantes
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
 
Computação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e ScipyComputação Científica com Python, Numpy e Scipy
Computação Científica com Python, Numpy e Scipy
 
Programação web ii aulas 06 e 07
Programação web ii   aulas 06 e 07Programação web ii   aulas 06 e 07
Programação web ii aulas 06 e 07
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aula
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
 
Pgads42
Pgads42Pgads42
Pgads42
 
Pg2
Pg2Pg2
Pg2
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHP
 
Módulo 5 análise das demonstrações contábeis
Módulo 5   análise das demonstrações contábeisMódulo 5   análise das demonstrações contábeis
Módulo 5 análise das demonstrações contábeis
 
346
346346
346
 
Phpex2
Phpex2Phpex2
Phpex2
 

apostila.pdf

  • 1. !
  • 2. " ! # $ $ %& ' ( ) *
  • 3. + ,- ./ 0 1 %2 ! 1 %2 3 4 %2 3
  • 4. + ,5 ./ 0 ! 6 7 3 8 3! 7 # 7 8 3! ! 3! ! & , 7 7 9 7 9 7 7 79 0 %& 7 %& ! 3! 1 ! 3!
  • 5. + ,: ./ 0 %2 3 # ; 8 %2 , 7 " 7 0 < ! %2 ! ) & < ! ! +! 2 1 %2 < ! %&
  • 6. + ,/ ./ 0 #= ! % %2 " ! ! ) > ;7 < +
  • 7. 4; %2 41 # 3 4 ? @ 4
  • 8. A ,- .5 0 < * !' 4 ! ; ( 3 ? 3
  • 10. # = ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC) { zend_object_value retval; *object = emalloc(sizeof(zend_object)); (*object)->ce = class_type; retval.handle = zend_objects_store_put(*object, (zend_objects_store_dtor_t) zend_objects_destroy_object, (zend_objects_free_object_storage_t) zend_objects_free_object_storage, NULL TSRMLS_CC); retval.handlers = &std_object_handlers; (*object)->in_get = 0; (*object)->in_set = 0; return retval; } Fonte: www.php.net
  • 11. ! B C ! ! D # %2 C !D 9 ! 9 7 C !D
  • 12. ! B
  • 13. + %2 E+ GET /index.html HTTP/1.1 From: sscf@cin.ufpe.br User-Agent: IE/5.0 HTTP/1.1 200 OK Date: Fri, 20 Apr 2004 23:59:59 GMT Content-Type: text/html Content-Length: 1354 <html> <body> <h1>Curso de PHP</h1> ... </body> </html>
  • 16. A Forma canônica Forma abreviada ... <? comandos; ?> ... ... <?php comandos; ?> ... = # ; I = J J
  • 18. 6 Hello world! Saída no browser Código HTML gerado <HTML> <HEAD> <TITLE>Hello</TITLE> </HEAD> <BODY> Hello world! </BODY> </HTML>
  • 19. 4 6 4 6 % 4 6 - 7 5 :
  • 20. A ! B ,< 7 1 17 0K '..999 1 ,< ! 2 L 0K '..999 > , 7 7 7 0 '..999
  • 22. ! # 6 < B : 5 3 " '.. . " . ! L ,( GM 0
  • 23. 4 6 > 4 ! '.. 9 . ! L . ! / N L G# 4A 9 @ 'O O ! O O O 'O ! 'O O ! O + ! N
  • 24. < G = ,@ ;;0 ( 1, P 0 ! 3! ; 4E< E E $ " 2 7 ,;1 0
  • 25. C D C D M ! ! , 3 0 ?
  • 26. 1 * %, *" * % Hello <?php echo “World”; ?>
  • 27. 1 ! ! ! # ; ,1 0 Q 7 Q 7 Q 7 ! # ;
  • 28. 4 <?php if ($expression) { ?> <strong>Isso é verdadeiro.</strong> <?php } else { ?> <strong>Isto é falso.</strong> <?php } ?>
  • 29. ! 6 ! 6 %2 <?php echo "ae, "; echo "td "; echo "blz?" // última instrução ?>
  • 30. 1 3 <?php echo "Isto é um teste"; //Comentário de uma linha /* Isto é um comentário de mais de uma linha e aqui temos outra linha */ echo "Isto é um outro teste"; echo "O último teste"; #Comentário no estilo Unix shell ?>
  • 31. ! C ! D 6 # ; ,> 9 0 <?php echo("<h1>Introdução</h1>"); print("<p>bla bla</p>"); echo("Autor: Fulano") ?>
  • 32. 8 3! M % = $ 2 ! R RG ! 3! % R 7 6 2 H
  • 33. 8 3! 2 ! 3! 3S ,# ? 0 $idade $_nome $i $3idade $primeiro-nome <?php $str = "José"; // $str armazena o tipo string. $i = 12; // $i armazena o tipo inteiro. $f = 3.1415; // $f armazena o tipo ponto flutuante. ?>
  • 34. 8 3! + 4 + 1 " + ! 3! ! GM ;; + %& < M 4 ! ! > TU GH 7 /- 5 M H " VWX 7 S5 7 S- 7 Y 7 - 7 5 7 Z 1
  • 35. 1 + H 3 8 S5- / [/ :] / ^ 5- / [/ :] / [ <?php $a = 1; # número decimal $a = -2; # um número negativo $a = 0123; # número octal (83 em decimal) $a = 0xF; # número hexadecimal (15 em decimal) $a = 7*12 + 6/3; # saída: 86 ?>
  • 36. 3 # 6 - <?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?> <?= floor((0.1+0.7)*10) == 7 ?>
  • 37. ,- 0' G2 CD , 07 _` , 0 a a, 0
  • 38. @ _` , 0 8 3! 2 2 4 !"# $ % & # ' % ( $%) $ * +, <?php $id = 12; $query = ‘SELECT * FROM FUNCIONARIO WHERE ID=$id’; echo($query); ?>
  • 39. @ CD , 0 < ! 3! 2 4 !"# $ % & # ' % ( $%) $ * +- . <?php $id = 12; $query = "SELECT * FROM FUNCIONARIO WHERE ID=$id"; echo($query); ?>
  • 40. @ aa, ! 0 4 H 6 <?php $a = `time`; echo $a; ?> /
  • 41. b + + b b b b b < < 2 > ! # $ + G ! + + b + + + + + + + + + + O` OR O O O OO OD
  • 42. 4 6 % 4 6 / L
  • 43. < S ! 6 " , % Y 0 b a2c Saída gerada: <?php $str = "abc"; echo $str{1}; echo "<br>"; $str{1} = '2'; echo $str; ?>
  • 44. %2 <?php $str1 = "ab"; $str2 = "c"; $concat = $str1 . $str2; ?>
  • 45. ! 2 # ! 7 2 ! Y <?php $foo = 1 + "10.5"; // $foo é float (11.5) $foo = 1 + "-1.3e3"; // $foo é float (-1299) $foo = 1 + "bob-1.3e3"; // $foo é integer (1) $foo = 1 + "bob3"; // $foo é integer (1) $foo = 1 + "10 Small Pigs"; // $foo é integer (11) $foo = 4 + "10.2 Little Piggies"; //$foo é float(14.2) $foo = "10.0 pigs " + 1; // $foo é float (11) ?>
  • 46. > + ! M ! ! < 2 ! <?php $foo = True; // assimila o valor TRUE para $foo ?>
  • 47. > G $ " <? $bool = 3 > 0; // $bool = TRUE; if ($bool == True) { echo ("Entrou no if!"); } else { echo ("Entrou no else!"); } ?>
  • 49. < G2 3 $ <?php $produtos[0] = "Pneu"; /* Equivalente a $produtos[0] = "Pneu“ e implicitamente o array foi criado */ $produtos[1] = "Oleo"; $produtos[2] = "Luva"; ?>
  • 50. < 1 4 H <?php $produtos = array(“Pneu", “Oleo", “Luvas"); echo $produtos[1]; ?>
  • 51. < M $ ! ' ! ' array( [chave =>] valor , ... );
  • 52. < G2 3 $ <?php $produtos[] = "Pneu"; /* Equivalente a $produtos[0] = "Pneu“ e implicitamente o array foi criado */ $produtos[1] = "Oleo"; $produtos[] = "Luva"; ?>
  • 53. < < < ! <?php $precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>4); $precos["Capo"] = 300; echo $precos["Oleo"]; ?>
  • 54. < <?php $produtos = array("Pneu", "Oleo", "Luvas"); $precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>41); sort($produtos); asort($precos); // ordena por preco ksort($precos); // ordena por nome ?>
  • 55. < 4 ' < = ' <?php $a = array("José", 4=>"Joaquim", "Maria"); $b = array("Id2" => "José", "Id10" => "Maria"); ?>
  • 56. + + C 4 D 4 ' M 4 2 M ! 4 ' <?php $handle = fopen (“curso.txt", "r"); ?>
  • 57. GM ;; + ! 3! ! 2 $ F 6! , W WG 0 4 ' <?php $raiz_quadrada = ($i > 0) ? sqrt($i) : null; ?>
  • 58. 8 3! ! 3! H ! 3! ! ! 3! <?php $a = "gambiarra"; $$a = "Isso é ceboso!"; echo $gambiarra; ?>
  • 59. ! & " U <?php $foo = "123"; // $foo eh uma string $bar = (int) $foo; // $bar eh um inteiro ?>
  • 60. ! & 7 I I 7 < ! & 2' , 0 S , 0 S , 0 S H , 0 S , 0 S , " 0 S "
  • 61. ! & G 4 47 3 <?php $dez = 10; $str_dez = "10"; $dez_e_meio = 10.5; $dez_e_meio_conv = (int) $dez_e_meio; if ($dez_e_meio_conv === $dez) { echo('$dez_e_meio_conv e $dez são idênticos.<br>'); } $str1 = "$dez"; $str2 = (string) $dez; if ($str1 === $str2) { echo('$str1 e $str2 são idênticos.<br>'); } if ($dez == $str1) { echo('$str1 e $dez são equivalentes.<br>'); } ?>
  • 62. ! & Y 7 - 7 Y <?php $foo = 10; // $foo eh um inteiro $bar = (boolean) $foo; // $bar eh um booleano if ($foo) { echo("teste"); } ?>
  • 63. < ,K 7 .7 I 7 S0 %2 ,W W 7 cW 7 d 7 e 7 d W 7 e W 7 W W W 0 %2 , 0 ;= ,c7 E E 7 f f 7 7 4 7 0 < %2 ,W 7W 7 I I 7 SS7 I W 7 SW 0
  • 64. 9 9 9
  • 65. 1 if ($a > $b) { echo "a é maior que b"; } 4 %2 = 4 ' if (expressao) { instrucoes; }
  • 66. 1 if ($a > $b) { echo "a é maior que b"; } else { echo "a NÃO é maior que b"; }
  • 67. B $i = 1; while ($i <= 10) { echo $i++; /* o valor impresso será $i depois do acréscimo (post-increment) */ } while (expressao) { instrucoes; } %2 4 - '
  • 68. @ 9 $i = 10; do { echo $i; $i++; } while ($i < 10);
  • 69. for ($i = 1; $i <= 10; $i++) { echo $i; } for (expr1; expr2; expr3) { instrucoes; } %2 4 - '
  • 70. 4 5 4 : $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } for ($i = 1; ; $i++) { if ($i > 10) { break; } else if ($i % 2 == 0) { continue; } echo $i; }
  • 71. 1 %2 4 / <?php $array = array("a", "b", "c"); foreach($array as $valor) { echo($valor); } $mapa = array("banana" => 1, "carne" => 10); foreach($mapa as $chave => $valor) { echo "<BR>"; echo $chave . " -> " . $valor; } ?>
  • 72. 4 5 ' 1 $ <?php $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach ($a as $v1) { // Para cada linha foreach ($v1 as $v2) { // Para cada elemento da linha echo "$v2n"; } } ?>
  • 73. 9 swich (expressao) { case valor1: Instrucao1; break; case valor2: Instrucao2; break; case valor3: Instrucao3; break; default: InstrucaoDefault; } ! 3 %& 1
  • 74. 9 4 if ($i == 0) { echo "i igual a 0"; } elseif ($i == 1) { echo "i igual a 1"; } elseif ($i == 2) { echo "i igual a 2"; } switch ($i) { case 0: echo "i igual a 0"; break; case 1: echo "i igual a 1"; break; case 2: echo "i igual a 2"; break; }
  • 75. 4 6 % 4 6 ]
  • 76. %& 3 %2 G2 G2 3 <?php $a = criarArray(); function criarArray() { return array("Jose", "Maria"); } ?>
  • 77. %& %& <?php $n = fatorial(3); function fatorial($num) { return ($num)*fatorial($num-1); } ?>
  • 78. %& ? = G2 ,@ %& 0 %2 6!
  • 79. 4 6 % 4 6 [
  • 80. %& ! 3! < ! 3! ! 3! 7 %& 4 ' <?php $func = 'foo'; $func(); // Chama foo() $func = 'bar'; $func('test'); // Chama bar() function foo() { echo "Chamou foo()<br>n"; } function bar($arg = '') { echo "Chamou bar(); com argumento '$arg'.<br />n"; } ?>
  • 81. 1 %& ! ! 4 F H ! = ! 3 ! 7 6
  • 82. 1 = <?php include("util.php"); $str = char2String('1'); // $str=“Sim”; ?> util.php <?php function char2String($c) { return ($c == '1') ? "Sim" : "Não"; } ?>
  • 83. 1 = <?php ... if (!$senhaValida) { require("SenhaInvalida.html"); } ?> SenhaInvalida.html <HTML> <HEAD></HEAD> <BODY> Usuário e/ou senha inválido(s). </BODY> </HTML>
  • 84. ! 3! ! 7 3 6! ! ! vars.php <?php $color = 'green'; $fruit = 'apple'; ?> test.php <?php echo "A $color $fruit"; include 'vars.php'; echo "A $color $fruit"; ?>
  • 85. N N include_once(); require_once(); 1 ! !$ g ! 5 %& %2. 7 N N c
  • 87. 4 6 % 4 6
  • 89. ! 3! ; ' @ %2 %2 <?php function abc() { $a = 1; } abc(); echo $a; /* Dá erro porque $a não foi definida no escopo global*/ ?>
  • 90. ! 3! ( # ! S ! <?php $a = 1; include "b.inc"; // $a pode ser referenciada echo $a; ?>
  • 91. ! 3! ( <?php $a = 2; function imprime() { echo $a; // Em php 4x dá erro } echo $a; // Funciona pois a é global imprime(); ?>
  • 92. ! 3! 8 3! , 0 RN 1G ,< $ 20 RN #7 RN ( # ,< $ 3 0 RN1 ; ,< $ ! 0 RN + 8 + ,1 %& 7 0 R( ; > < ; ,< $ ! 3! 0
  • 93. RN + 8 + %& <?php $ipaddress = $_SERVER['REMOTE_ADDR']; $useragent = $_SERVER['HTTP_USER_AGENT']; $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; echo $ipaddress . '<BR>'; echo $useragent . '<BR>'; echo $lang. '<BR>'; ?>
  • 94. ! % ## + 3 function header(); <?php header("Location: principal.php"); ?> GET /index.html HTTP/1.1 From: sscf@cin.ufpe.br User-Agent: IE/5.0 Location: principal.php Requisição
  • 95. Location: principal.php Requisição de index.php Requisição de principal.php
  • 96. H <?php header(“HTTP/1.0 404 Not Found"); ?> <?php header(“Content-Type: image/jpeg"); ?>
  • 97. M c <?php $conteudo = readfile($_GET['nome']); header("Content-Type: image/jpeg"); echo $conteudo; ?>
  • 98. 4 6 # 0 1 2 - 3
  • 100. 3 <FORM ACTION= "processar.php" METHOD=“post"> <INPUT TYPE=text NAME=email> <INPUT TYPE=text NAME=nome> <INPUT TYPE=submit NAME=botao VALUE=enviar> </FORM> processar.php <?php echo "Obrigado por enviar os dados " . $_POST['nome']; echo "Seu email é: " . $_POST['email']; ?> ( 4 5 / Código HTML Código PHP
  • 101. 4 6 % 4 6 - - - 5
  • 102. # ; # # C D %2 <form action=“handlerCadastro.php" method="get"> </form> ( 4 &6 7
  • 103. # ; José 4 ' ! RN ( # RN # ! ' ! RN ( # RN # ' C 4D 4 ' ! RN ( # RN # ! ' ! RN ( # RN # ' C 9 D <input name="nome" type="text"> ****** <input name="senha" type="password"> $_GET['nome'] == "José"; $_GET['senha'] == "123456";
  • 104. # ; > ' ! RN ( # RN # ! ' ! RN ( # RN # ' C D 7 ! ! ! C D <input type="submit" name="btn1" value="Enviar"> <input type="reset" name="btn2" value="Resetar">
  • 105. 4 6 % 4 6 - :
  • 106. # ; ) >4 ' ! RN ( # RN # ! ' ! RN ( # RN # ' C 4D 4 + > & , 4 7 40 ! ! C D <input name="sexo" type="radio" value="m"> <input name="notificacao" type="checkbox“ value="1"> $_GET['notificacao'] == "1"; $_GET['sexo'] == "m"; . / . . 0 1 1 2 %, , 3
  • 107. 4
  • 108. 4
  • 109. # ; 4 <?php if (isset($_GET['notificacao']) { $notificacao = $_GET['notificacao']; /* $notificacao = "1"; */ ... } if (isset($_GET['sexo'])) { $sexo = $_GET['sexo']; // $sexo = "m"; ... } ?>
  • 110. # ; # 4< <textarea name="nome" cols="10" rows="5"></textarea> $_GET['nome'] == "texto digitado";
  • 111. # ; <select name="logins[]" size=“3" multiple> <option value="sscf">sergio</option> <option value="jts">jose</option> <option value="aas">antonio</option> </select> <select name="login"> <option value="sscf">sergio</option> <option value="jts">jose</option> <option value="aas">antonio</option> </select>
  • 112. # ; G 4 <?php ... $logins = $_POST['logins']; foreach($logins as $login) { ... } ?>
  • 113. 4 6 % 4 6 - /
  • 114. 8 %2 8 4 3 M 3 6 $ %2cc <! %2 ! ,h ! 0 ! , 0 G 3 $ ! %2 ! 7 c
  • 117. 8 %2 4 ' M 3 C D
  • 118. 8 %2 4 ' < ! 3
  • 119. 4 6 % 4 6 - L - ]
  • 120. # ; M ! 3 <form enctype="multipart/form-data" action="actionArquivo.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="200"> Enviar este arquivo: <input name="userfile" type="file"> <input type="submit" value="Enviar Arquivo"> </form>
  • 121. # ; M ! < <?php $uploaddir = "c:tempuploads"; $uploadfile = $uploaddir . $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:n"; } else { print "Possivel ataque de upload! Aqui esta alguma informação:n"; } ?>
  • 122. 4 6 % 2 - [
  • 123. ( P ( H 9 ? 2 ! = < ' A W " E W ? 2 ! " %2 G2 F
  • 124. %& F G $ 'O9 9 % '
  • 125. ! ' N N N N # N 4 N 4 N $ N N
  • 127. ! + ! 7 3 4 ' bool mail ( string para, string assunto, string mensagem [, string cabecalhos_adicionais]) mail("destino@mer.com", "Assunto", "Ae mermao blz?");
  • 128. ! ' G , 0 , 0 ' < ' N ' > + S S# PS
  • 129. %2 %2 <?php function enviarEmail($de, $para, $assunto, $corpo) { mail($para, $assunto, $corpo, "From: $dernReply-To: $de") or die('Erro ao enviar email'); } ?>
  • 130. 4 6 % 4 6 - [
  • 131. ) 1 %& $ # 7 ! $ ! U S Ocupacao estudante 8 / 14 9: :
  • 133. ) ) % ) 4 %2 7 %2 ) $%2
  • 134. ) ! ) bool setcookie ( string nome [, string valor [, int tempoExpiracao]]) Nome : nome do cookie Valor: valor do cookie TempoExpiracao: tempo de vida do cookie ; 05 < 5 4 0 ! !
  • 135. ) HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1354 Set-Cookie: Ocupacao=estudante <html> <body> <h1>Curso de PHP</h1> ... </body> </html> GET /index.html HTTP/1.1 From: sscf@cin.ufpe.br User-Agent: IE/5.0 Cookie: Ocupacao=estudante Resposta Requisição
  • 136. ) 4 ' <?php $value = ‘aluno'; setcookie ("Ocupacao", $value); /*expira no final da seção (Quando o browser fechar)*/ setcookie ("Ocupacao", $value,time()+3600); /* expira em uma hora */ ?>
  • 137. ) Q 9 7 %2 ) 7 2 ! 3! RN b 1 G 4 ' <?php if (isset($_COOKIE['Ocupacao']) && $_COOKIE['Ocupacao'] == "estudante") { enviarSpam(); } else { efetuarDesconto(); } ?>
  • 138. 4 6 % 4 6 -
  • 139. & 7 ! $ ! 7 3 ) 7 $ %27 2 9
  • 140. & session_start(); 2 2 2 ! ) ! 3! ( # %2 ! %2 "
  • 141. & ( 7 ! ! 3! 2 <?php session_start(); $_SESSION['nome'] = "José"; // Manda setar a variável ?>
  • 142. & setCookie("PHPSESSID", "43b"); *43b www.google.com Cookie:google.com session_start(); $_SESSION['nome'] = "José"; ( / = > ? 4 8 / * +> ? 4 Gera um número aleatório por exemplo ‘43b’. @ 6
  • 143. & ! ! <?php session_start(); // precisa ser chamada antes. echo "Seu nome é" . $_SESSION['nome']; /* recupera o valor que veio junto com a requisição */ ?>
  • 144. ) 4 %& & 2 $ 7 3 ! $ ) %& ! " 2 ) 7 ! 2 ) < 2 C D ! U 9 ) C! ! D < 1 " %2 # %2 ! ! G " %2 & )
  • 145. < %& ) ! 3 ! !$ 3 & < $ %& 3 , 7 7 7 0 ! 7
  • 146. 4 6 % 2 - i
  • 148. < ! , !7 0j < ! ! ' C D' C9D' # " 3 4 4 ' <?php $handle = fopen ("info.txt", "r"); ?>
  • 149. < ! , !k 7 l 0j ;U =4 ,H 0 " 7U =4 +
  • 150. < ! 9 , !7 0j H ! < ;
  • 151. < ! , !0j + ! 3
  • 152. < ! , !0j + 7 3
  • 153. < ! 4 ' <?php $arq = fopen("teste.txt", "r"); while (!feof($arq)) { $str = fgets($arq); echo $str; echo "<br>"; } fclose($arq); ?>
  • 154. < ! 4 ' <?php $arquivo = fopen("saida.txt", "w"); fputs($arquivo, "ae veirn"); fputs($arquivo, "bla blarn"); fclose($arquivo); ?>
  • 155. 4 6 % 2 5 Y
  • 156. ! > A # ? H 3 -5
  • 159. Q ; Q ; C 2D 8 2 !' Q ;i i
  • 160. Q ; # S 73 4 ! $ 2 i i # / AAA B
  • 161. - 7 S- 5 7 - / - GH . - 7 5 7 : 7 / 7 L 7 ] 7 GH U 1 N `- 5 '- - 'Y /̀ m ' ' m _ `7 _ ` ! _ ` 4. m n n n n S S@ @ ' ' m m n n n n S S@ @ m GH 6 _- i : SY - S- i5 5 '- 5 '- 5̀ _- i : SY - S- ì 7 -5 : 7 :- / 4 G
  • 163. # CREATE TABLE Jokes( ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY , JokeText TEXT, JokeDate DATE NOT NULL ) 4 4 CREATE TABLE nome_tabela ( nome_coluna tipo modificadores, ... )
  • 164. 1 4 4 8 1 @W- 7 4 ! 3 1 @W5 1 INSERT INTO Jokes (JokeText, JokeDate) VALUES (‘Why did the chicken cross theroad? To get to the other side!’, ‘2000-04-01’) INSERT INTO destino [(campo1, campo2,...)] VALUES (valor1, valor2,...)
  • 165. SELECT ID, LEFT( JokeText, 20 ) , JokeDate FROM Jokes + " 4 SELECT JokeText, JokeDate FROM Jokes ORDER BY ID
  • 166. M < $ 4 4 UPDATE nome_tabela SET nome_coluna = novo_valor WHERE condicao UPDATE Jokes SET JokeDate = '1990-04-01' WHERE JokeText LIKE '%chicken%'
  • 167. @ @ , 0 4 4 DELETE FROM nome_tabela WHERE condicao DELETE FROM Jokes WHERE JokeText LIKE '%chicken%'
  • 168. ! ( > @ 4 ' @ ! ! @ >
  • 169. @ ! ! C 6 D ( > @ 4 3 6 -5
  • 170. @ > @ ! 2 < ( > @ %2 # $ , @ > 0 6 ( > @ ! 3 6 4 5 -5
  • 171. @ ! G ! %& mysql_connect(); mysql_select_db(); mysql_query(); mysql_affected_rows(); mysql_insert_id(); mysql_num_rows(); mysql_fech_array();
  • 172. @ ! G ! resource mysql_connect(host, login, senha); <?php $con = mysql_connect("localhost", "user", "user"); ?> 1 / + 4 2
  • 173. 1 / bool mysql_select_db (string nome_base [, resource id_conexao]) <?php $con = mysql_connect("localhost", "user", "user"); mysql_select_db("nome_da_base"); ?>
  • 174. 4 Q 4 ' + 4 %2 7 3 7 7 # 7 3 resource mysql_query ( string sql [, resource id_conexao])
  • 175. 4 Q 1 / <?php $con = mysql_connect("localhost", "user", "user"); mysql_select_db("nome_da_base"); $resultado = mysql_query("SELECT * FROM usuario"); ?> <?php $con = mysql_connect("localhost", "user", "user"); mysql_select_db("nome_da_base"); mysql_query("UPDATE usuario SET nome='jose' WHERE id=2"); ?>
  • 176. 4 Q + 1 @ %2 int mysql_insert_id ( [resource link_identifier]) <?php mysql_query("INSERT INTO usuario (nome, endereco) values ('jose', 'avenida ...')"); print("O ultimo registro incluído tem id %dn" . mysql_insert_id()); ?>
  • 177. + " 7 3 :! Q ;N GM ' + 4 6 Q ;N < ' + 4 Q ;N > # ' < F %2 int msql_fetch_array ( int id_resultado [, int tipo_array])
  • 178. 4 <?php $con = mysql_connect("localhost", "user", "user"); mysql_select_db("nome_da_base"); $resultado = mysql_query("SELECT nome,endereco FROM usuario"); while ($funcionario = mysql_fetch_array($resultado)) { echo $funcionario['nome']; echo $funcionario['endereco']; } ?>
  • 179. + H int mysql_num_rows ( resource id_resultado) <?php $result = mysql_query("SELECT * FROM usuario"); $num_rows = mysql_num_rows($result); ?>
  • 180. @ ! ! H int mysql_affected_rows ( [resource id_conexao]) mysql_query("DELETE FROM usuario WHERE nome like %jose%'"); print("Registros excluídos: %dn" . mysql_affected_rows());
  • 181. 4 6 % & 5 - 7 5 5 7 5 : 7 5 /
  • 182. " G 4 M " ' ' %& " 4 ' 1 %& , 7 % 0 4 ' 7
  • 183. F ! 3! " 4 ' 2
  • 184. " / ' G2 " ,G " A0 G2 3 , 2 H 0 G2 3 4 %& L ' " 7 4 2
  • 185. 8 3! , 0 %& , %& 0
  • 186. 4 class nomeDaClasse { // variáveis // funções // construtores }
  • 187. 4 4 ' class UsuarioSessao { var $nome; var $login; function salvar() { session_start(); $_SESSION['login'] = $this->login; $_SESSION['nome'] = $this->nome; } function ler() { session_start(); $this->login = $_SESSION['login']; $this->nome = $_SESSION['nome']; } function UsuarioSessao($login, $nome) { $this->login = $login; $this->nome = $nome; } } 4 6
  • 188. 4 " $us = new UsuarioSessao("sscf", "Sergio"); $us->salvar(); echo $us->nome;
  • 189. # ) %2 , ) 0 = %2 2 $ 3 " # 3 = # ; = %27 6 , 0
  • 190. <?php ... if ($_GET['operacao'] == "Cadastrar") { $coditarefa = -1; //gambirarra para o select la debaixo $agora = getdate(); $dia = $agora['mday']; $mes = $agora['mon']; $ano = $agora['year']; $nome = ""; $duracao = ""; $descricao = ""; } else { $coditarefa = $_GET['coditarefa']; $result_tarefa = $bd->executarQuery("select nome, descricao, EXTRACT(DAY FROM dataInicio) as dia, EXTRACT(MONTH FROM dataInicio) as mes, EXTRACT(YEAR FROM dataInicio) as ano, DAYOFYEAR(dataFim) - DAYOFYEAR(dataInicio) as duracao from tarefa where coditarefa=$coditarefa;"); $tarefa = mysql_fetch_array($result_tarefa); $nome = $tarefa['nome']; $dia = $tarefa['dia']; $mes = $tarefa['mes']; $ano = $tarefa['ano']; $duracao = $tarefa['duracao']; $descricao = $tarefa['descricao']; } >? <html><head><title>Tarefa</title> <script language="JavaScript"> function carregarCampos() { document.forms[0].nome.value = "<? echo $nome; ?>"; document.forms[0].duracao.value = "<? echo $duracao; ?>"; document.forms[0].ano.value = "<? echo $ano; ?>"; document.forms[0].descricao.value = "<? echo $descricao; ?>"; dropdown = document.forms[0].dia; dropdown.options[0].selected = false; dropdown.options[<? echo $dia; ?>].selected = true; ... } </script> </head> ...
  • 191. # ) 4 ' <select name="logins[]" size=4 multiple> <? if ($_GET['operacao'] == "Cadastrar") { $usuarios = $bd->executarQuery("select login,nome from usuario;"); while (($usuario = mysql_fetch_array($usuarios))) { echo "<option value=" . $usuario['login'] . ">" . $usuario['nome']; } } else { $usuarios = $bd->executarQuery("SELECT u.nome, u.login, tu.coditarefa FROM usuario as u LEFT JOIN tarefa_usuario as tu ON u.login = tu.login and tu.coditarefa=$coditarefa;"); while (($usuario = mysql_fetch_array($usuarios))) { $out = "<option value=" . $usuario['login']; if ($usuario['coditarefa'] != null) { $out .= " selected"; } $out .= ">" . $usuario['nome']; echo $out; } } ?> </select>
  • 192. # ) %2 @! 5 ' < %2
  • 193. 4 # ! ' template.htm <html> ... <?php echo $msg ?> ... <html> ... “Você já votou” ... processamento.php <?php $msg = "Você já votou"; include(“template.htm"); ?>
  • 194. # ) $ %2 %2 = $ $%27 $%2 ,9 0
  • 195. # ) 8 4 %2 ) 4 %& ' # ;N # N 4' '.. . ) . # ;N # N 4 ' '.. . ! ' '.. ! .
  • 196. < + 4 < + S 3 2 %2 '.. . . .
  • 197. ; + = 4 & Q ; V +
  • 198. V ! % % & ! ' # / /C C AAA D C C C D E ; E AE EA 8 F- ( D G $ & 6 G :
  • 199. V , 0
  • 200. V , 0
  • 201. 1 %2 1 !,< I I 0 '.. . " . ! L h3 ! %2 ! 4 2 < 7 7 ! AddType application/x-httpd-php .phtml .php Action application/x-httpd-php /php/php.exe ScriptAlias /php/ "d:/php/"
  • 203. + U 9 ) 9 )' '.. 9 9 ) . ) . V '..999 $ . . .$ S S ) ! G # '.. . . . N ) '.. ) . ;< ' '..999 . ## ' '.." . . . ' '..999
  • 204. + U M ' '..999 . . A W : - / Y + 5 ] - ]' # ;-- '..999 . . 5 ] - ] 4 " S ' '.."! . . ). ."!. . @ > ' '..999 9 .# + . . @ > Q ;' '.. ! . . . . N 4
  • 205. + U > @ S@ ! B M Q ; '.. ! . S . . 9 .- Y ## ) ' '..9 . 9 . . ) N