Ir para conteúdo
  • Cadastre-se

Tutorial PHP


=SUBCRIBE=

Posts recomendados

Neste exemplo, criaremos um script com uma saída simples, que servirá para testar se a instalação foi feita correctamente:

 

<html>

<head><title>Aprender PHP</title></head>

<body>

 

<?php

echo "Primeiro Script";

?>

 

</body>

</html>

 

Copia este código para um documento do notepad e grava como "primeiro.php3" no directório de documentos do Apache (ou o Web Server escolhido). Abra uma janela do browser e digite o endereço "

O conteúdo está oculto, favor efetuar login ou se cadastrar!
Verifique se o HTML da página exibida é o seguinte:

 

<html>

<head><title>Aprender PHP</title></head>

<body>

 

Primeiro Script

 

</body>

</html>

 

 

Isto mostra como o PHP funciona. O script é executado no servidor, ficando disponível para o utilizador apenas o resultado. Agora vamos escrever um script que produza exactamente o mesmo resultado utilizando uma variável:

 

 

<html>

<head><title>Aprendendo PHP</title></head>

<body>

 

<?php

$texto = "Primeiro Script";

echo $texto;

?>

 

</body>

</html>

 

Utilizar formulários HTML

 

Ao clicar num botão "Submit" num formulário HTML as informações dos campos serão enviadas ao servidor especificado para que possa ser produzida uma resposta. O PHP trata esses valores como variáveis, cujo nome é o nome do campo definido no formulário. O exemplo a seguir mostra isso, e mostra também como o código PHP pode ser inserido em qualquer parte do código HTML:

 

<html>

<head><title>Aprendendo PHP</title></head>

<body>

 

<?php

if ($texto != "")

echo "Você digitou \"$texto\"<br><br>";

?>

 

<form method=post action="<? echo $PATH_INFO; ?>">

<input type="text" name="texto" value="" size=10>

<br>

<input type="submit" name="sub" value="Enviar!">

</form>

 

</body>

</html>

 

Ao gravar o ficheiro acima e carregá-lo no browser, o utilizador verá apenas um formulário que contém um espaço para digitar o texto. Ao digitar um texto qualquer e submeter o formulário, a resposta, será no mesmo ficheiro PHP (indicado pela constante $PATH_INFO, que retorna o nome do ficheiro).

 

Isto acontece porque o código PHP testa o conteúdo da variável $texto. Inicialmente o valor da variável é uma string vazia, e por isso nada é impresso quando a página é carregada a primeira vez. Quando algum texto é digitado no formulário e submetido, o PHP verifica novamente a variável, como no formulário o campo possui o nome "texto", a variável com seu conteúdo será $texto, assim o valor da variável será diferente de uma string vazia, e o PHP imprime um texto antes do formulário.

 

Interagir com o browser

 

 

O PHP permite interagir com informações do browser automaticamente. Por exemplo, o script a seguir mostra informações sobre o browser do utilizador.

 

<html>

<head><title>Aprendendo PHP</title></head>

<body>

 

<? echo $HTTP_USER_AGENT; ?>

 

</body>

</html>

 

O resultado mostra características de cada browser, como a versão, e no caso do Communicator até mostra o idioma ("en"). Com isto, podes criar uma página com recursos disponíveis so para Internet Explorer, por exemplo, podes esconder o código dos outros browsers, com um código semelhante ao seguinte:

 

<html>

<head><title>Aprendendo PHP</title></head>

<body>

 

<?

if (strpos($HTTP_USER_AGENT,"MSIE 5") != 0) {

echo "Você usa Internet Explorer";

} else {

echo "Você não usa Internet Explorer";

}

?>

 

</body>

</html>

 

Neste exemplo, será apenas exibido um texto informando se está sendo utilizado o Microsoft Internet Explorer ou não, mas para outras funções poderia ser utilizado algo semelhante.

É bom notar o surgimento de mais uma função no código anterior: strpos(string1,string2). Essa função retorna a posição da primeira aparição de string2 em string1, contando a partir de zero, e não retorna valor algum se não ocorrer. Assim, para testar se a string $HTTP_USER_AGENT contém a string "MSIE", basta testar se strpos devolve algum valor.

 

Aceder a Base de Dados

 

 

Neste documento todos os exemplos referentes a acesso de base de dados utilizarão o gerenciador de base de dados MySQL, que pode ser copiado gratuitamente no site

O conteúdo está oculto, favor efetuar login ou se cadastrar!
.

Para interagir com uma base de dados SQL existem três comandos básicos que devem ser utilizados: um que faz a ligação com o servidor de base de dados, um que seleciona a base de dados a ser utilizada e um terceiro que executa uma "query" SQL.

 

Ligação com o servidor

 

A ligação com o servidor de base de dados mySQL em PHP é feita através do comando mysql_connect, que tem a seguinte sintaxe:

 

int mysql_connect(string /*host [:porta]*/ , string /*login*/ , string /*senha*/ );

 

Os parâmetros são bastante simples: o endereço do servidor(host), o nome do utilizador (login) e a senha de ligação. A função retorna um valor inteiro, que é o identificador da ligação estabelecida e deverá ser armazenado numa variável para ser utilizado depois. No nosso exemplo, temos como servidor de base de dados a mesma máquina que corre o servidor http, como login o utilizador "root" e senha "phppwd":

 

$ligacao = mysql_connect("localhost", "root", "phppwd");

 

Assim, se a ligação for bem sucedida (existir um servidor no endereço especificado que possua o utilizador com a senha fornecida), o identificador da ligação fica armazenado na variável $ligação.

 

Seleção do base de dados

 

Uma vez ligado, é preciso selecionar o base de dados existente no servidor com o qual desejamos trabalhar. Isso é feito através da função int mysql_select_db, que possui a seguinte sintaxe:

 

int mysql_select_db(string /*nome_base*/, int /*ligacao*/ );

 

O valor de retorno é 0 se o comando falhar, e 1 no caso de sucesso. O nome da base de dados a selecionar é o primeiro parâmetro fornecido, seguido pelo identificador da ligação. Se este for omitido, o interpretador PHP tentará utilizar a última ligação estabelecida, é recomendável inserir sempre este valor, para facilitar a legibilidade do código. No nosso exemplo, a base de dados a ser selecionada possui o nome "ged":

 

mysql_select_db("ged", $ligacao);

 

Após a execução deste comando qualquer consulta executada para aquela ligação utilizará a base de dados selecionada.

 

Execução de queries SQL

 

Após estabelecida a ligação e selecionada a base de dados a ser utilizada, quase toda a interacção com o servidor mySQL pode ser feita através de consultas escritas em SQL (Structured Query Language), com o comando mysql_query, que utiliza a seguinte sintaxe:

 

int mysql_query(string consulta, int [ligacao] );

 

O valor de retorno é 0 se falhar ou 1 em caso de sucesso. Sucesso aqui significa que a consulta está sintaticamente correcta e foi executada no servidor. Nenhuma informação sobre o resultado é devolvido deste comando, ou até mesmo se o resultado é o esperado. No caso da consulta ser um comando SELECT, o valor de retorno é um valor interno que identifica o resultado, que poderá ser tratado com a função mysql_result() e outras. A string query não deve conter ponto-e-vírgula no final do comando, e o identificador da ligação é opcional. Vamos criar uma tabela como exemplo:

 

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";

 

mysql_query($cria, $ligacao);

 

Agora vejamos como ficou o código completo para executar uma query SQL numa base de dados mySQL, com um exemplo que cria uma tabela chamada exemplo e adiciona alguns dados:

 

$ligacao = mysql_connect("localhost", "root", "aki e o campo de coloca a senha nao coloque");

mysql_select_db("ged", $ligacao);

 

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";

 

$insere1 = "INSERT INTO exemplo (nome,email) VALUES ("blablabla"," [email protected]");

 

$insere2 = "INSERT INTO exemplo (nome,email) VALUES ("Jose da Silva","[email protected]");

 

$insere3 = "INSERT INTO exemplo (nome,email) VALUES ("Fernando Henrique Cardoso","[email protected]");

 

$insere4 = "INSERT INTO exemplo (nome,email) VALUES ("Bill Clinton","[email protected]");

 

mysql_query($cria, $ligacao);

mysql_query($insere1, $ligacao);

mysql_query($insere2, $ligacao);

mysql_query($insere3, $ligacao);

mysql_query($insere4, $ligacao);

 

Tratamento de resultados de query SELECT

 

Ao executar uma query SQL SELECT através do comando mysql_query, o identificador do resultado deve ser armazenado numa variável que pode ser tratada de diversas formas. Duas maneiras interessantes de o fazer usam o comando mysql_result e o comando mysql_fetch_row, respectivamente.

 

O comando mysql_result tem a seguinte sintaxe:

 

int mysql_result(int resultado, int linha, mixed [campo]);

 

Onde resultado é o identificador do resultado, obtido com o retorno da função mysql_query, linha especifica o registo a ser exibido, já que uma query SELECT pode retornar diversos registos, e campo é o identificador do campo a ser exibido, sendo o tipo descrito como mixed pela possibilidade de ser de diversos tipos (neste caso, inteiro ou string). Vejamos um exemplo utilizando a tabela criada anteriormente:

 

$consulta = "SELECT nome, email FROM exemplo WHERE email LIKE 'vivas'";

 

$resultado = mysql_query($consulta, $ligacao);

 

printf("Nome: ", mysql_result($resultado,0,"nome"), "<br>\n");

printf("e-mail: ", mysql_result($resultado,0,"email"),"<br>");

 

Com o exemplo acima, o resultado será:

 

Nome: PHP Aula<br>

e-mail: [email protected]<br>

 

É importante notar que a utilização desta função é um pouco trabalhosa, já que no caso de um resultado com várias linhas é preciso controlar o número de linhas para tratá-las (pode-se utilizar a função mysql_num_rows(int resultado), que retorna o número de linhas de um resultado), e no caso de uma alteração no nome do campo é preciso alterar também a maneira de tratá-lo. Por isso é mais aconselhável que se use uma outra função, como por exemplo mysql_fetch_row, que possui a seguinte sintaxe:

 

array mysql_fetch_row(int result);

 

A variável resultado é o identificador da memória de resultados, obtido como retorno da função mysql_query. O resultado produzido por esta função é de retirar a primeira linha da memória de resultados, se houver, e colocá-la num array. Assim torna-se mais fácil tratar um resultado com várias linhas, e sem utilizar os nomes dos campos na rotina de tratamento do resultado:

 

$consulta = "SELECT nome, email FROM exemplo";

 

$resultado = mysql_query($consulta, $ligacao);

 

echo "<table border=1>\n";

echo "<tr><td>Nome</td><td>e-mail</tr>\n";

while ($linha = mysql_fetch_row($resultado)) {

printf("<tr><td>$linha[0]</td>");

printf("<td>$linha[1]</td></tr>");

}

echo "</table>\n";

 

O código acima irá imprimir todos os registos da tabela exemplo numa tabela html. Se o programador desejar "saltar" alguma(s) linha(s) do resultado, poderá utilizar a função mysql_data_seek, que tem por objectivo definir qual será a próxima linha da memória de resultados a ser impressa. A sua sintaxe é:

 

int mysql_data_seek(int resultado, int linha);

 

Sendo resultado o identificador do resultado e linha o numero da linha. Retorna 0 em caso de falha, e um valor diferente de zero em caso de sucesso.

Existem diversas outras funções para o tratamento de resultados, que armazenam as linhas em arrays e objectos, assim como outras funções para administrar o base de dados, mas como este documento trata-se de uma introdução, inicialmente não tratará tópicos mais avançados.

 

So quero Dizer que nessa Aula tem que presta muita atenção pra quem quer aprender *-*

 

Creditos =SUBCRIBE=

Link para o comentário
Compartilhar em outros sites


Muito bom, mesmo eu sabendo 90% disso vai ajudar muita gente..!

"In a way, the supernatural is what's behind the curtain. Normally, you only need to see what's happening on stage. That's how reality works. If you don't know then it's for the best. Actually, learning about the supernatural only increases the number of things you don't know."'

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...



×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.