Sempre tive a curiosidade de acessar arquivos .xml via php e diante de uma necessidade, pude colocar em prática.
O que será validado?
O email digitado.
Como?
A pessoa digita o email num campo de texto (html-input type=”text”) e se o email contiver num arquivo .xml ele terá acesso para baixar alguns documentos.
Vamos ao código:
Arquivo emails.xml
Arquivo que conterá a lista de email para validação.
teste@teste.com
teste@teste.com.br
Arquivo index.php
Arquivo que conterá o campo de texto para digitar o email.
Observação: A função simplexml_load_file está apenas disponível no PHP5.
PHP + XML
if (!$_POST){
?>
}else{
// atribuindo o valor digitado para a variavel
$email = $_POST["login"];
// verifica se campo está em branco
if ($email == ''){
echo "Por favor, preencha o campo email.
";
echo "";
}else{
// parte importante - Converte um arquivo XML em um objeto
// emails.xml -- nome do arquivo .xml
$xml = simplexml_load_file('emails.xml');
$emailEncontrado = false;
//$xml->email -- acessa as propriedades do objeto
foreach ($xml->email as $email_xml)
{
// comparando os dados
if ($email == $email_xml)
{
$emailEncontrado = true;
break;
}
}
if($emailEncontrado === true)
{
include("arquivos_download.php");
}else {
echo 'Email Inválido
';
echo "";
}
}
}
?>
Como pudemos ver neste post, a manipulação de arquivos XML no PHP é extremamente simples (SimpleXML) e pode ser realizada com poucas linhas de comando.