A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PHP Constantino Martins DEI – Departamento de Engenharia Informática

Apresentações semelhantes


Apresentação em tema: "PHP Constantino Martins DEI – Departamento de Engenharia Informática"— Transcrição da apresentação:

1 PHP Constantino Martins DEI – Departamento de Engenharia Informática
ISEP - Instituto Superior Engenharia Do Porto Constantino Martins Constantino Martins

2 Índice O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail
Funções Comunicação com SGBD como exemplo o MySQL Autenticação com PHP - algumas soluções. SESSION com PHP Uploads Links Constantino Martins Constantino Martins

3 O que é PHP? PHP ("PHP: Hypertext Preprocessor") é uma linguagem de script server-side HTML-embedded. Implementado em “qualquer” ambiente Server-side -> código é executado no servidor. Constantino Martins Constantino Martins

4 Historia e Datas Concebido em 1994 por Rasmus Lerdorf Versão 1: 1995
Versão 2: PHP/FI Versão 3: PHP Versão 4: PHP meio-2000 Constantino Martins Constantino Martins

5 Vantagem Entre outras, umas das grandes vantagem do PHP é o de suportar 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 Constantino Martins Constantino Martins

6 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. Constantino Martins Constantino Martins

7 Tipos de Tags <? codigo PHP ?> <?php codigo PHP ?>
<script language="php"> codigo PHP </script> Constantino Martins Constantino Martins Constantino Martins. Constantino Martins.", "width": "800" }

8 PHP embebido com HTML <? Codigo PHP ?> Codigo HTML Etc....
Constantino Martins Constantino Martins

9 Exemplo <? if(strstr($HTTP_USER_AGENT,"MSIE")) { ?>
<b>You are using Internet Explorer</b> <? } else { ?> <b>You are not using Internet Explorer</b> <? } ?> Constantino Martins Constantino Martins

10 Sintaxe PHP “a la “ C (e Perl, TCL etc..)
Instruções “a la” C <? for ($i=0; $i<5; $i++) { if ($i < 2) { echo “ola"; } else { echo “oli"; } echo "$i<BR>\n"; ?> Constantino Martins Constantino Martins

11 Tipos de Comentários <? // primeira /* segunda */ # vamos embora?
?> Constantino Martins Constantino Martins

12 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 Constantino Martins Constantino Martins

13 Tipos de variáveis Inteiros: $a=123456; $a=-1221212; Float
$a = 1.234; $a = 1.2e3; Constantino Martins Constantino Martins

14 Tipos de variáveis - string
Limitada por duas maneiras: ‘ (neste caso as variáveis não serão “expandidas”) Nota: Uso “\” para “escapes” Constantino Martins Constantino Martins

15 Tipos de variáveis - strings
Exemplos: Atribuição $string = “É uma string"; /* Appending to it . */ $string = $string . " com mais strings"; /* Outra maneira */ $string .= " mais coisas.\n"; Constantino Martins

16 Tipos de variáveis Outro exemplo $num = 9;
$string = "<p>Number: $num</p>"; Resultado: string =<p>Number: 9</p> /* Mais um exemplo*/ $string = '<p>Number: $num</p>'; Resultado: string= <p>Number: $num</p> /* último exemplo */ $string = ‘É um teste.'; $first = $string[0]; Constantino Martins

17 Tipos de variáveis - vectores
$a[0]=“abc”; $a[1]=“cba”; $a[]=“ole”; /* ole fica automaticamente na posição a[2] */ Constantino Martins Constantino Martins

18 FORMS action.php: Hello <? echo $nome; ?>.
<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: Hello <? echo $nome; ?>. A sua idade é <? echo $idade; ?> Constantino Martins Constantino Martins

19 FORMS Hello <? echo $nome; ?>. A sua idade é
action.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> <? } ?> Constantino Martins Constantino Martins

20 FORMS – uma dica <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>;” } ?> Constantino Martins Constantino Martins

21 Mail Sintaxe: bool mail(string to, string subject, string message, string [additional_headers]); Exemplo: “Dúvidas", “ola 1\n ole 2\n oli 3"); Constantino Martins Constantino Martins

22 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); ?> Constantino Martins Constantino Martins

23 Funções <? $a = 1; $b = 2; Function Sum () { global $a, $b;
$b = $a + $b; } Sum (); echo $b; ?> Constantino Martins Constantino Martins

24 Execução de comandos $output = `ls -al`; echo "<pre>$output</pre>"; system(), passthru(), exec(), popen(), and escapeshellcmd(). Constantino Martins Constantino Martins

25 Instruções - tudo “a la” C
if while switch Etc... Constantino Martins Constantino Martins

26 Includes Permite 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 Constantino Martins Constantino Martins

27 Database support Quase todas: Vamos falar do MySQL
Adabas D, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL Vamos falar do MySQL Constantino Martins Constantino Martins

28 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 meu alunos gostavam de saber”); mysql_close($lig); // fechar ligação ?> Constantino Martins

29 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]); Constantino Martins

30 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); Constantino Martins

31 MySQL - exemplo pesquisa numa tabela
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); ?> Constantino Martins

32 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); ?> Constantino Martins

33 Autenticação - alguns exemplos
Base de dados HTTP – com PHP Cookies .htaccess do linux Constantino Martins Constantino Martins

34 Autenticação- exemplo
<?php if(!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic realm=\"My Realm\""); Header("HTTP/ Unauthorized"); echo "Text to send if user hits Cancel button\n"; exit; } else { echo "Hello $PHP_AUTH_USER.<P>"; echo "You entered $PHP_AUTH_PW as your password.<P>"; } ?> Constantino Martins Constantino Martins

35 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(). Constantino Martins Constantino Martins

36 Session Exemplo: <? SetCookie(‘dei',‘const'); ?>
session_start(); session_register(‘var'); $var = 'Hello World'; Constantino Martins

37 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 Constantino Martins

38 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> Constantino Martins Constantino Martins

39 uploads <? copy($PHP_UPLOADED_FILE_NAME,$DOCUMENT_ROOT.$REQUEST_URI); ?> Constantino Martins Constantino Martins

40 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. “ <? phpinfo(); ?> Constantino Martins Constantino Martins

41 Variáveis do sistema <? $REMOTE_ADDR = getenv("REMOTE_ADDR");
$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>"; ?> Constantino Martins Constantino Martins

42 LINKS Home Page: http://www.php.net Manual: http://www.php.net/manual/
Tutorial: Books: Hotscripts: Constantino Martins Constantino Martins


Carregar ppt "PHP Constantino Martins DEI – Departamento de Engenharia Informática"

Apresentações semelhantes


Anúncios Google