BOMBOLOM.COM

Se lhe foi útil a informação que encontrou nestas páginas,
por favor ajude-nos a manter este site vendo os anúncios!!!

(webdev) Redireccionar página com PHP

Este é um post de José Lopes.

Imagine que no seu site tem uma quantidade razoável de ficheiros, com uma informação similar mas individual, com um nome segundo uma convenção definida (tipo 100, 1001, etc). Pode ser interessante facultar uma form onde os utilizadores possam aceder aos ficheiros inserindo o nome convencionado.

Uma solução possível é criar uma form que utiliza PHP para direccionar os utilizadores ao ficheiro correcto. Uma solução deste tipo que não recorre a javascript assegura que não haja problemas de navegação (por não estar activado a opção javascript).

Neste post mostro como se pode utilizar uma form e php para redireccionar o utilizador para uma página estática existente.

A primeira coisa a fazer é escrever a nossa form, que pode ser mais ou menos complicada consuante os nossos requerimentos. Vamos considerar algo simples como por exemplo:

<form action="form_handler.php" method="get">
Escreva o número: <input name="ref" type="text">
</form>

Como pode verificar:

  • A form chama um ficheiro em PHP com o nome form_handler.php.
    Notar que neste caso o ficheiro PHP tem o mesmo caminho (path) que o ficheiro de HTML que contém a form. Se não tivesse teria de ser definido correctamente.
  • O método utilizado é o GET uma vez que se está a solicitar informação ao servidor sem alteração da mesma. Para referência acerca deste método visualize o artigo Diferença entre GET e POST.
  • O input tem um nome que será chamado no ficheiro PHP. Claro que podemos sempre colocar neste input as opções do HTML.

Agora queremos que o PHP faça a sua magia. Criamos o ficheiro form_handler.php com o seguinte código:

   <?php
(1)$name = $_GET['ref'];
(2)header("Location: http://O_PATH_PARA_OS_FICHEIROS" . $name . ".html");
   ?>

Explicando o código:

(1)Obtemos o valor do input ref da form (o nome que colocámos).
(2)Fazemos o encaminhamento para o ficheiro compondo o path completo e com o valor do input no lugar correcto.

Esta é uma solução simples que pode ser adaptada a qualquer necessidade.

Podemos ter mais do que um valor na form, por exemplo dois campos de input e um ficheiro PHP com o código:

<?php
$name1 = $_GET['ref1'];
$name2 = $_GET['ref2'];
header("Location: http://O_PATH_PARA_OS_FICHEIROS" . $name1 . "QUALQUER_COISA" . $name2 . ".html");
?>

Se o valor que recebemos tiver de estar em maiúsculas, podemos implementar esta especificação no ficheiro PHP:

<?php
$name = $_GET['ref'];
header("Location: http://O_PATH_PARA_OS_FICHEIROS" . strtoupper($name) . ".html");
?>

A função de PHP strtoupper() converte uma string em maiúsculas. Se fosse minúsculas o pretendido poderiamos usar a função strtolower(). Como podem imaginar qualquer função de strings pode ser utilizada consuante o que necessitamos.

Pode ver um exemplo de aplicação desta solução aqui.

20.01.2008 | Ler mais | Comentários 0 | Tags ,

Deixe a sua mensagem:

Nome:


E-mail:


URL:


Comentário:

Número Secreto

Para enviar o seu comentário tem de inserir o "número secreto" no campo que está imediatamente à direita.


Voltar à Página principal | Made with PyBlosxom | Add to Google