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

Post on 07-Apr-2016

256 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 Uploads Links

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

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

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

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

Tipos de Tags <? codigo PHP ?>

<?php codigo PHP ?>

<% codigo PHP %>

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

Nota: depende da configuração do webserver

PHP embebido com HTML<?

Codigo PHP?>

Codigo HTML<?

Codigo PHP?>

Codigo HTML<?

Codigo PHP?>

Etc....

Exemplo<?

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

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

} else { ?>

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

} ?>

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

if while switch Etc...

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 />";

}?>

Tipos de Comentários<?

// primeira

/* segunda terceira

*/

# vamos embora??>

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

Tipos de variáveis Inteiros:

$a=123456; $a=-1221212;

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

Tipos de variáveis - string

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

“expandidas”)

Nota: Uso “\” para “escapes”

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";

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];

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

$a[1]=“cba”;

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

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>";

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; ?>

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>";

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; ?>

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>";

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><? } ?>

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++;

}?>

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

string [additional_headers]);

Exemplo:mail(“const@dei.isep.ipp.pt", “Dúvidas", “ola 1\n ole 2\

n oli 3");

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);

?>

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

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

} Sum (); echo $b;?>

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

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

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

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

Database support Quase todas:

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

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?>

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]);

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);

?>

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);?>

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);

?>

Autenticação - alguns exemplos Base de dados

HTTP – com PHP

Cookies

.htaccess do linux

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>"; } ?>

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()

Session Exemplo:<?

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

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

?>

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

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); ?>

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(); ?>

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>";

?>

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>";?>

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/

top related