andrebian
(usa Fedora)
Enviado em 14/11/2012 - 23:29h
lanzao escreveu:
Boa noite pessoal
Fiz uma função php, gostaria que se o conteudo do arquivo validar.txt for 0 essa função encaminha para a página index.php, se diferente de 0, não faça nada.
<?php
function validar(){
$caminho = "/var/www/php/script/validar.txt";
$arq=fopen($caminho, "r");
$valor=fread($arq, 1);
$voltar=0;
if ($valor==0) {
$voltar = "header('Locatin: /php/index.php')";
}
return $voltar;
}
?>
Quando eu utilizo o comando
<?php
echo validar();
?>
não redireciona para o index, e para o preenchimento pela metade.
a função está correto? Como utilizarei a função em minhas paginas php?
Note o conteudo da variável $voltar... header('Locatin....') oooops, é Location.
Mas detalhe, sugiro que ao inves de vc retornar o header, retornar um true ou false, segundo o Livro Código limpo que estou lendo, cada função deve executar apenas uma unica coisa, no seu caso, está fazendo duas, lendo o arquivo e definindo o redirecionamento. O ideal seria em caso de satisfeito retornar um true e onde a função foi chamada, se houver este retorno aí sim redireciona....
function validar(){
$caminho = "/var/www/php/script/validar.txt";
$arq=fopen($caminho, "r");
$valor=fread($arq, 1);
if ( $valor == 0 ) {
return true;
} else {
return false;
}
}
if ( valida() ) {
header("Location: /php/index.php" );
}