Figura 42 – Código que cria um cookie com o nome do usuário que dura uma hora
Parâmetros
O uso de parâmetros facilita a programação porque permite a passagem de dados entre o browser e o script ou entre scripts. A passagem de parâmetros entre o browser e o script é feita dentro da URL, por exemplo e é manipulada pela função $_GET.
Nesse exemplo a seguir, cada um dos links envia um valor diferente para a página que é aberta (teste.php). Para enviar um parâmetro, a sintaxe inclui um sinal de interrogação, o nome da variável, um sinal de igual e o valor da variável.
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
if (isset($_GET["valor"]))
{
$valor = $_GET["valor"];
echo "Você clicou no link $valor <p>";
}
else
{
echo "Clique em um dos links abaixo:<p>";
}
?>
<a href="teste.php?valor=1">link 1</a><br>
<a href="teste.php?valor=2">link 2</a><br>
<a href="teste.php?valor=3">link 3</a><br>
<a href="teste.php?valor=4">link 4</a><br>
<a href="teste.php?valor=5">link 5</a><br>
</body>
</html>
Figura 43 – Código com passagem de parâmetro
Caso exista necessidade de se passar mais de um parâmetro, deve-se separá-los através de “e comercial” (&), conforme figura 44.
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
if (isset($_GET["nome"]) && isset($_GET["sobrenome"])) {
$nome = $_GET["nome"];
$sobrenome = $_GET["sobrenome"];
echo "O nome selecionado foi $nome $sobrenome<p>";
}
else
{
echo "Selecione um nome<p>";
}
?>
<a href="teste.php?nome=Pedro&sobrenome=Silva">Pedro Silva</a><br>
<a href="teste.php?nome=Maria&sobrenome=Santos">Maria Santos</a><br>
</body>
</html>
Formulários
Figura 44 – Código com passagem de mais de um parâmetro
Os valores enviados através de um formulário podem ser recuperados pela variável pré- definida $_POST. Através dela é possível obter os dados que foram enviados através do
método POST do HTML, bastando indicar o nome do campo do formulário. No comando action do formulário, deve-se indicar a página PHP que irá receber os valores. O mesmo documento pode conter o código e o formulário (figura 45).
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
if (isset($_POST["pnome"]) && isset($_POST["snome"]))
{
$pnome = $_POST["pnome"];
$snome = $_POST["snome"];
echo "Olá $pnome $snome.<p>";
}
else
{
echo "Digite o seu nome.<p>";
}
?>
<form method="post" action="teste.php"> Primeiro Nome: <input type="text" name="pnome">
<br>
Sobrenome: <input type="text" name="snome">
<br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Figura 45 – Código com formulário enviando dados através do método POST
Se for usado o método GET, os dados podem ser visualizados na URL do browser. Para recuperar estes dados, deve-se usar a variável pré-definida $_GET. Executar os códigos das figuras 45 e 46 e analisar o comportamento do browser.
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
if (isset($_GET["pnome"]) && isset($_GET["snome"]))
{
$pnome = $_GET["pnome"];
$snome = $_GET["snome"];
echo "Olá $pnome $snome.<p>";
}
else
{
echo "Digite o seu nome.<p>";
}
?>
<form method="get" action="teste.php">
Primeiro Nome: <input type="text" name="pnome">
<br>
Sobrenome: <input type="text" name="snome">
<br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Figura 46 – Código com formulário enviando dados através do método GET
Uploads
O PHP permite que sejam enviados arquivos para o servidor. Deve-se modificar o arquivo de configuração (php.ini):
file_uploads = On
upload_tmp_dir ="C:\Arquivos de programas\EasyPHP\tmp\" upload_max_filesize = 2M
Para o próximo exemplo, o diretório de upload deve ser trocado para C:\temp. É necessário reiniciar o servidor a cada modificação em algum arquivo de configuração.
Todas as informações sobre o arquivo enviado ficam armazenadas na variável
$_FILES. O comando que trata o envio do arquivo é move_uploaded_file. No exemplo a seguir, o usuário envia um arquivo de no máximo 30 Kb.
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
if (isset($_FILES['arquivo']['name'])){
$uploaddir = 'c:\\temp\\';
$arquivo = $uploaddir. $_FILES['arquivo']['name'];
if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $arquivo)) { print "O arquivo foi gravado com sucesso.";
}
else
{
print "Erro. O arquivo não foi enviado.";
}
}
?>
<form enctype="multipart/form-data" action="teste.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000"> Enviar este arquivo: <input name="arquivo" type="file">
<input type="submit" value="Envia Arquivo">
</form>
</body>
</html>
Figura 47 – Código com upload de arquivo e armazenamento na pasta C:\temp
Envio de e-mails
O PHP permite que se enviem e-mails de forma automatizada. Para isso, deve-se ajustar o arquivo de configuração (php.ini) para se indicar o servidor SMTP:
[mail function]
SMTP = localhost ;for win32 only sendmail_from = me@localhost.com ;for win32 only
;sendmail_path = ;for unix only, may supply arguments as well (default is 'sendmail -t -i')
A opção SMTP indica o endereço ou número IP do servidor SMTP. A opção sendmail_from indica o endereço do remetente da mensagem. É necessário reiniciar o servidor a cada modificação em algum arquivo de configuração. O próximo exemplo envia uma mensagem para o destinatário.
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
$destinatario = "cristiano@urcamp.tche.br";
$assunto = "Como enviar e-mais via PHP";
$mensagem = "
<h2>Envio de e-mails via PHP</h2>
<p>Depois que o servidor está configurado, é muito simples enviar e-mails com o PHP, usando apenas a função mail(). Você deve indicar como parâmetros o destinatário, o assunto, e a mensagem. Para enviar cabeçalhos adicionais, como informações sobre o formato da mensagem, há um quarto parâmetro.</p>
";
$cabecalho = "
MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n";
Comentários
Postar um comentário