Introdução ao PHP

Í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

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.
Historia 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 2000-2004
    Versão 5: 2004-Actualidade

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

Primeiro programa – hello world

    FILE.php:

Example

    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 %>
    codigo PHP

PHP embebido com HTML
Codigo PHP
?>
Codigo HTML
Codigo PHP
?>
Codigo HTML
Codigo PHP
?>
Etc….
Exemplo
if(strstr($HTTP_USER_AGENT,”MSIE”)) {
?>
You are using Internet Explorer

You are not using Internet Explorer

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
\n”;
}
?>
Tipos de Comentários
// primeiro
/* segundo */
# terceiro
?>

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 = $string . ” com mais strings”;

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

Tipos de variáveis
    Outro exemplo
$num = 9;
$string = “

Number: $num

“;
Resultado: string =

Number: 9

    /* Mais um exemplo*/
$num = 9;
$string = ‘

Number: $num

‘;
Resultado: string=

Number: $num

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

Tipos de variáveis – vectores

$a[0]=“abc”;
$a[1]=“cba”;
$a[]=“ole”; /* ole fica automaticamente na posição a[2] */
FORMS

Nome:

Idade:

action.php:

           Hello . 
           A sua idade é 
FORMS

action.php:

Hello . 
A sua idade é 

Nome:

Idade:

FORMS – uma dica

BAR RMATMATB

action.php:
echo “Seleccionou:
“;
$tamanho=sizeof($equipas);
$i=0;
while ($i<$tamanho) {
echo “equipas[$i]
;”
}
?>
Mail  
    Sintaxe:
bool mail(string to, string subject, string message, string [additional_headers]);

    Exemplo:
mail(“alguem@mail.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
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 “

$output

“;

    system(), passthru(), exec(), popen(), and escapeshellcmd().
Instruções    – Similaridade com o C
    if
    while
    switch
    Etc…
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
 
Database support
    Quase todas:
    Adabas D, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL

    Vamos falar do MySQL
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(“”,””,””);
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(“”,””,””);
/* 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
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(“”,””,””);
/* 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
    if(!isset($PHP_AUTH_USER)) {
Header(“WWW-Authenticate: Basic
realm=\”My Realm\””);
Header(“HTTP/1.0 401
Unauthorized”);
echo “Text to send if user hits
Cancel button\n”;
exit;
} else {
echo “Hello $PHP_AUTH_USER.

“;
echo “You entered $PHP_AUTH_PW as your
password.

“; } ?>
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(‘isla’,‘alguem’);
?>
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
   

Send this file:
uploads
   
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. “

   

 

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
“;
echo “$HTTP_USER_AGENT
“;
echo “$REMOTE_HOST1
“;
echo “outra solucao=$REMOTE_HOST
“;
?>
 
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/

Leave a Reply

Your email address will not be published. Required fields are marked *