PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail...
-
Upload
antonia-clementino-rios -
Category
Documents
-
view
256 -
download
0
Transcript of PHP – Básico. PHP - Básico O que é o PHP? Vantagem Tipos de variáveis Forms com PHP Mail...
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(“[email protected]", “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/