php – básico. php - básico o que é o php? vantagem tipos de variáveis forms com php mail...

46
PHP – Básico

Upload: antonia-clementino-rios

Post on 07-Apr-2016

256 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

PHP – Básico

Page 2: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com PHP Uploads Links

Page 3: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

O que é PHP? PHP ("PHP: Hypertext Preprocessor") é uma

linguagem de script server-side HTML-embedded Implementado em “qualquer” ambiente:

Existem versões do PHP disponíveis para diversos sistemas operativos como nomeadamente: Linux, Windows, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, IRIX e Solaris

Suporta protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-RPC, SOAP

Server-side -> código é executado no servidor

Page 4: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

História e Datas Concebido em 1994 por Rasmus Lerdorf Versão 1: 1995 Versão 2: PHP/FI 1995-1997 Versão 3: PHP 1997-2000 Versão 4: PHP meio-2000 Versão 5: em 2004 - introduz um novo modelo

de Orientação a Objectos

Page 5: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Vantagem Suporta um grande número de base de

dados e sobretudo de fácil uso. Adabas D, InterBase, Solid, dBase, mSQL,

Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL

Estruturado e Orientado a objecto Sintaxe similar a Linguagem C/C++, PERL

e TCL Portabilidade Velocidade e robustez

Page 6: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Primeiro programa - hello world FILE.php:

<html><head><title>Example</title></head><body> <? echo “hello world!"; ?></body> </html>

Output:Hello world!

O código PHP é delimitado por tags iniciais e finais que lhe permite sair e entrar no PHP

Page 7: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de Tags <? codigo PHP ?>

<?php codigo PHP ?>

<% codigo PHP %>

<script language="php"> codigo PHP </script>

Nota: depende da configuração do webserver

Page 8: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

PHP embebido com HTML<?

Codigo PHP?>

Codigo HTML<?

Codigo PHP?>

Codigo HTML<?

Codigo PHP?>

Etc....

Page 9: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Exemplo<?

if(strstr($HTTP_USER_AGENT,"MSIE")) {?>

<b>You are using Internet Explorer</b><?

} else { ?>

<b>You are not using Internet Explorer</b><?

} ?>

Page 10: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Sintaxe PHP “à la “ C (e Perl, TCL etc..)

if while switch Etc...

Page 11: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Sintaxe PHP “à la “ C (e Perl, TCL etc..)

Instruções “à la” C<?for ($i=0; $i<5; $i++) {

if ($i < 2) {echo “ola";

} else {echo “oli";

}echo "$i <br />";

}?>

Page 12: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de Comentários<?

// primeira

/* segunda terceira

*/

# vamos embora??>

Page 13: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de variáveis Não precisam de serem declaradas

Tipo da variável decidido em “runtime” pelo PHP, dependo do contexto em que é usada

Page 14: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de variáveis Inteiros:

$a=123456; $a=-1221212;

Float:$a = 1.234; $a = 1.2e3;

Page 15: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de variáveis - string

Limitada por duas maneiras: “ ‘ (neste caso as variáveis não serão

“expandidas”)

Nota: Uso “\” para “escapes”

Page 16: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de variáveis - strings Exemplos:

/* Atribuição */$string = “É uma string";

/* Appending to it ”.” */ $string = “É uma string";$string = $string . " com mais strings";echo $string;Output: É uma string com mais strings

/* Outra maneira */$string .= " mais coisas.\n";

Page 17: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de variáveis /* Outro exemplo */

$num = 9;$string = "<p>Number: $num</p>";Resultado: string =<p>Number: 9</p>

/* Mais um exemplo*/$num = 9;$string = '<p>Number: $num</p>';Resultado: string= <p>Number: $num</p>

/* último exemplo */$string = ‘É um teste.';$first = $string[0];

Page 18: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Tipos de variáveis - vectores$a[0]=“abc”;

$a[1]=“cba”;

$a[]=“ole”; /* ole fica na posição a[2] */

Page 19: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMSform.html:

<form action="action.php" method=“GET">Nome: <input type=text name=nome><br>Idade: <input type=text name=idade><br><input type=submit></form>

action.php:$nome=$_GET['nome'];

if(!empty($nome)) echo "Nome: $nome <br>";

$idade=$_GET['idade'];if(!empty($idade))

echo "Idade: $idade <br>";

Page 20: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMSform.html:

<form action="action.php" method=“GET">Nome: <input type=text name=nome><br>Idade: <input type=text name=idade><br><input type=submit></form>

action.php: /* dependendo da configuração do servidor */

Hello <? echo $nome; ?>. A sua idade é <? echo $idade; ?>

Page 21: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMSform.html:

<form action="action.php" method="POST">Nome: <input type=text name=nome><br>Idade: <input type=text name=idade><br><input type=submit></form>

action.php:$nome=$_POST['nome'];if(!empty($nome))

echo "Nome: $nome <br>";

$idade=$_POST['idade'];if(!empty($idade))

echo "Idade: $idade <br>";

Page 22: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMSform.html:

<form action="action.php" method="POST">Nome: <input type=text name=nome><br>Idade: <input type=text name=idade><br><input type=submit></form>

action.php:/* dependendo da configuração do servidor */

Hello <? echo $nome; ?>. A sua idade é <? echo $idade; ?>

Page 23: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMSPOST e/ou GET:

action.php:$nome=$_REQUEST['nome'];if(!empty($nome))

echo "Nome: $nome <br>";

$idade=$_REQUEST['idade'];if(!empty($idade))

echo "Idade: $idade <br>";

Page 24: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMS – mais um exemploaction.php:

<? if ($nome!=“” && $idade!=“”) { ?>Hello <? echo $nome; ?>. A sua idade é <? echo $idade; } else { ?> <form action="action.php" method="POST">Nome: <input type=text name=nome><br>Idade: <input type=text name=idade><br><input type=submit></form><? } ?>

Page 25: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

FORMS – uma “dica”form.html:

<form action="action.php" method="POST"><select multiple name=equipas[]><option>FCP <option>SLB<option>SCP<option>BOAVISTA</select><input type=submit></form>

action.php:<? echo “Seleccionou:<br>";$tamanho=sizeof($equipas);$i=0;while ($i<$tamanho) {

echo “$equipas[$i] <br>”;$i++;

}?>

Page 26: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Mail Sintaxe:bool mail(string to, string subject, string message,

string [additional_headers]);

Exemplo:mail(“[email protected]", “Dúvidas", “ola 1\n ole 2\

n oli 3");

Page 27: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Funções Declaração de funções:<? function exemplo($var1, $var2) {

echo “var1=$var1 <br>var2=$var2”; }?>

Chamada de funções:<?

$envia1=“ola”;$envia2=“ola2”; exemplo($envia1,$envia2);

?>

Page 28: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Funções<?$a = 1; $b = 2; Function Sum () {

global $a, $b; $b = $a + $b;

} Sum (); echo $b;?>

Page 29: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Execução de comandos $output = `ls -al`; echo

"<pre>$output</pre>";

system(), passthru(), exec(), popen(), and escapeshellcmd().

Page 30: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

IncludesPermite incluir files: <?

// includes assim podemos ter todos o mesmo layout etc....

include ("cabecalho.php"); include ("pesquisa1.php"); include ("rodape.html");

?> Nota:Ver também require

Page 31: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Database support Quase todas:

Adabas D, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL

Page 32: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

MySQL – ligação a base de dados int mysql_connect(string [hostname [:port]

[:/path/to/socket] ] , string [username] , string [password] );

Returns: A positive MySQL link identifier on success, or false on error.

Exemplo:<?$lig=mysql_connect(“”,”const”,”os alunos gostavam de

saber”);mysql_close($lig); // fechar ligação?>

Page 33: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

MySQL Seleccionar base de dados int mysql_select_db(string database_name, int [link_identifier] );

Returns: true on success, false on error

Executar uma query

int mysql_query(string query, int [link_identifier] );

Ver números de resultados int mysql_num_rows(int result);

Mostrar resultados object mysql_fetch_object(int result, int [result_typ]);

Page 34: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

MySQL - exemplo pesquisa numa tabela

<?/* connect a BD */$lig=mysql_connect(“”,”const”,”os meu alunos gostavam de saber”);

/* seleccionar BD */mysql_select_db(“nome da BD”)

/* executar query */$query=“select * from tabela”;$result=mysql_query($query);

/* ver números de resultados */$numero=mysql_num_rows($result);

?>

Page 35: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

MySQL - exemplo pesquisa numa tabela$i=0;While($i<$numero) {

if ($row=msql_fetch_object($result)) {echo “$row->nomecoluna<br>etc .....”;

}$i++;

}/* Free result memory */mysql_free_result($result);/* fechar ligação */mysql_close($lig);?>

Page 36: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

MySQL - exemplo inserir numa tabela

<?/* connect a BD */$lig=mysql_connect(“”),”const”,”os meu alunos gostavam de

saber”);/* seleccionar BD */mysql_select_db(“nome da BD”)/* executar query */$query=“insert into ....etc”;$result=mysql_query($query);/* fechar ligação */mysql_close($lig);

?>

Page 37: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Autenticação - alguns exemplos Base de dados

HTTP – com PHP

Cookies

.htaccess do linux

Page 38: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Autenticação- exemplo<?php if(!isset($PHP_AUTH_USER)) {

Header("WWW-Authenticate: Basicrealm=\"My Realm\""); Header("HTTP/1.0 401Unauthorized"); echo "Text to send if user hitsCancel button\n"; exit;

} else { echo "Hello $PHP_AUTH_USER.<P>"; echo "You entered $PHP_AUTH_PW as yourpassword.<P>"; } ?>

Page 39: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Session int setcookie(string name, string value, int

expire, string path, string domain, int secure);

Iniciar session usar session_start() e para registar variáveis nesta sessão usar session_register()

Page 40: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Session Exemplo:<?

SetCookie(‘dei',‘const');?> <?

session_start(); session_register(‘var'); $var = 'Hello World';

?>

Page 41: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Session Para verificar se uma função foi registada usar

session_is_registered()<?

if (!session_is_registered("my_var")) {session_register("my_var");

}

Nota: consultar outras funções

Page 42: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Uploads<FORM ENCTYPE="multipart/form-data" ACTION="_URL_"

METHOD=POST> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000"> Send this file: <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="Send File"> </FORM>

PHP:<? copy($PHP_UPLOADED_FILE_NAME,

$DOCUMENT_ROOT.$REQUEST_URI); ?>

Page 43: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Phpinfo(); phpinfo():

“ Outputs a large amount of information about the current state of PHP. This includes information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the GNU Public License. “

<? echo phpinfo(); ?>

Page 44: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Algumas Variáveis do sistema<?

$REMOTE_ADDR = getenv("REMOTE_ADDR"); $HTTP_REFERER = getenv("HTTP_REFERER"); $DOCUMENT_URI = getenv("REQUEST_URI"); $HTTP_USER_AGENT = getenv("HTTP_USER_AGENT"); $REMOTE_HOST = gethostbyaddr($REMOTE_ADDR); $HTTP_USER_AGENT = str_replace("|", "",

$HTTP_USER_AGENT); $REMOTE_HOST1 = strtolower("$REMOTE_HOST"); echo "$REMOTE_ADDR<br>"; echo "$HTTP_USER_AGENT<br>"; echo "$REMOTE_HOST1<br>"; echo "outra solucao=$REMOTE_HOST<br>";

?>

Page 45: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

Exemplo<?echo "<center><p>Resposta Enviada pelo Servidor ";echo $_SERVER['SERVER_SOFTWARE'];echo " na máquina ";

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);echo $hostname;

$hora = date("H:i:s");echo "</p><p>$hora<br>";

echo "</p><p>A página anterior era: ";echo $_SERVER['HTTP_REFERER'];echo "</p>";

echo "<p>Na máquina com IP:";echo $_SERVER['REMOTE_ADDR'];echo "</p>";

echo "<p>Está a usar o Browser ";echo $_SERVER['HTTP_USER_AGENT'];echo "</p>";?>

Page 46: PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail Funções Comunicação com SGBD Autenticação com PHP SESSION com

LINKS Home Page:

http://www.php.net Manual:

http://www.php.net/manual/ Tutorial:

http://www.php.net/tut.php Books:

http://www.php.net/books.php Hotscripts:

http://www.hotscripts.com/