Curso De PHP Aula 4 Formulários Cookies Session Mail
Formulários Nós preenchemos diariamente diversos formulários web, seja para se logar e-mail ou criar uma conta em um site. Nesta parte do curso, vamos aprender a utilizar o PHP para manipular as informações que o usuário nos fornece ao preencher um formulário.
Para tratamento de formulários, o PHP utiliza duas variáveis: $_GET e $_POST, elas são responsáveis por reter toda informação proveniente do formulário. $_GET: Quando utilizarmos 'method= get ' em formulários, todos os nomes de variáveis e seus valores serão mostrados na URL, obviamente, deve ser evitado quando algum campo do formulário for a senha do usuário. Máximo de 100 caracteres. $_POST: Informação enviada com 'method= post ' é invisível e não possui limite de caracteres, diferente de $_GET.
Exemplo: <html> <body> <form action="bem_vindo.php" method="post"> Name: <input type="text" name="nome" /> Age: <input type="text" name="idade" /> <input type="submit" /> </form> </body> </html> O exemplo acima, utiliza o método post para capturar as informações fornecidas no formulário. O processamento dos dados será feito por bem_vindo.php. Vejamos o bem_vindo.php:
Exemplo: <html> <body> Bem vindo <?php echo $_POST["nome"];?>!<br /> Voce tem <?php echo $_POST["idade"];?> anos de idade. </body> </html> Uma possível saída para este programa é: Bem vindo Bob Doobs! Você tem 23 anos de idade.
A validação de formulários sempre deve ser feita utilizando linguagens que rodem do lado do cliente, validar formulários pelo browser é mais rápido. Entretanto, caso você precise enviar os dados para um banco de dados, a validação pode ser feita utilizando PHP. Validação de formulários:
Cookies São frequentemente usados para identificar um usuário. Um cookie é um pequeno arquivo que o servidor implanta no computador do usuário. Toda vez que algum computador requisita uma página à um browser, ele também enviará o cookie. Com PHP você pode criar cookies e reter seus valores.
Criando um Cookie: Para criar nosso cookie, utilizaremos a função setcookie() (ATENÇÃO: a função setcookie() deve aparecer ANTES da tag <html>). Sintaxe: setcookie(nome, valor, expira, caminho, domínio); Vamos criar um cookie chamado user e atribuir o valor Alex Porter a ele, vamos também especificar que o cookie deve expirar depois de uma hora, vamos ao código: <?php setcookie("user", "Alex Porter", time()+3600);?> <html>... (perceba como a criação do cookie deve ser feita antes da tag html!!!).
Como utilizar o valor de um cookie? No próximo exemplo, vamos reter o valor do cookie usuario e mostrá-lo na página: <?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_cookie);?>
Como deletar um cookie? Basta modificar a data que ele vai expirar, por exemplo, atribuindo o valor de uma hora atrás : <?php // set the expiration date to one hour ago setcookie("user", "", time() 3600);?>
Session Variáveis de Sessão Uma variável de sessão é utilizada para armazenar informações ou mudanças na configuração da sessão de um usuário. Variáveis de sessão armazenam informação de um único usuário e estão disponíveis para todas as páginas da aplicação.
Iniciando um sessão PHP: Antes que você possa guardar informações sobre o usuário, você deve iniciar a sessão (ATENÇÃO: a função session_start(), assim como a set_cookie, deve aparecer ANTES da tag <html>). <?php session_start();?> <html> <body> </body> </html>...
Guardando variáveis de sessão: <?php?> session_start(); $_SESSION['views']=1; <html> <body> <?php?> </body> </html> A maneira correta de armazenar e reaver variáveis de sessão é utilizar a variável $_SESSION, vamos a um exemplo: echo "Pageviews=". $_SESSION['views']; Uma Saída possível: Pageviews=1
Destruindo uma sessão: Se você desejar terminar uma sessão, você pode utilizar as funções unset() e session_destroy() : <?php unset($_session['views']);?>
Mail Com o PHP podemos enviar e-mails! A função mail(): mail(para, assunto, mensagem, cabeçalhos, parâmetros); Parâmetro Descrição Para Obrigatório. Destinatário. Assunto Obrigatório. Assunto do e-mail Mensagem Obrigatório. As linhas não devem ultrapassar 70 caracteres. Cabeçalho Opcional. Cc, Bcc, etc. Parâmetros Opcional. Parâmetros adicionais para o programa de envio de e-mail. Observação: para que a função mail() funcione, PHP requer que haja um sistema de e-mails instalado e funcionando. O programa a ser usado é definido pelo arquivo de configuração php.ini.
Exemplo: <?php $to = "someone@example.com"; $subject = "Test mail"; $message = "Hello! This is a simple email message."; $from = "someonelse@example.com"; $headers = "From: $from"; mail($to,$subject,$message,$headers); echo "Mail Sent.";?>
<html> <body> <?php if (isset($_request['email'])) //if "email" is filled out, send email { //send email $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail( "someone@example.com", "Subject: $subject", $message, "From: $email" ); echo "Thank you for using our mail form"; } else //if "email" is not filled out, display the form { echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text' /><br /> Subject: <input name='subject' type='text' /><br /> Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> <input type='submit' /> </form>"; }?> </body> </html> Usando a função mail() com formulários:
Assim, terminamos esta aula 4, Tchau!