Pular para o conteúdo

Retorno entre PHP x HTML

Responder tópico
  • Denunciar
  • Indicar

1. Retorno entre PHP x HTML

Enviado em 16/06/2008 - 23:29h

Como eu faria quando tenho 1 form HTML e, prencho os campos e os envio via método POST ao arquivo PHP e, realizada a validação de dados, necessário retornar ao form HTML sem perder nada do que preenchi nos campos do mesmo. Quais os recursos em php ou html que uso?
Obrigado.

Responder tópico

2. Re: Retorno entre PHP x HTML

Enviado em 17/06/2008 - 08:02h

Henbran,
Você pode utilizar variaveis de sessão para armazenar estes dados no ato da validação, caso seja necessário retornar ao formulário, dentro da propriedade "value", verifique se a variável de sessão foi iniciada, caso sim imprima o valor da mesma.
ficaria mais ou menos assim:
<?php
//tem que ser na 1ª linha
session_start();
?>
<input type="campo1" value="<?php if(isset($_SESSION["campo1"])){print $_SESSION["campo1"];}?>">
Creio que assim você consegue resolver este problema.
Espero ter ajudado.
Célio

3. Re: Retorno entre PHP x HTML

Enviado em 17/06/2008 - 09:26h

O uso de sessões poderia ser usado, como nosso amigo falou. Porém, não vejo pq implementar tanto uma coisa assim.. Basta mudar o form de .html pra .php e fazer com que esse mesmo arquivo valide os dados...
Fazendo isso vc vai ter o array $_POST na mesma página que o form, podendo colocar seus valores dentro dos campos.

Ex: printf("<input type='text' name='name' value='%s' />", $_POST['nome']);

Abraços!

4. Re: Retorno entre PHP x HTML

Enviado em 17/06/2008 - 13:17h

Interessante esta alternativa, porém você não separa a regra de negócio da interface. Isso não é nada agradável para manutenções futuras.
Obrigado,

Célio

5. Orientado a Arquivo

Enviado em 22/06/2008 - 01:38h

Concordo plenamente em separar a regra de negocio da interface, mas como o php antes de se orientar a objetos podia perfeitamente orientar a aquivos resolve claramente este problema.

Fazendo dois arquivos,um contendo a interface-HTML- e outro somente com codigo php, porém não envia o form para ser processado pelo segundo arquivo, ao inves disso inclui com include() ou require() no primeiro, fica assim...

<?php
// arquivo controle.php

$txtValue1 ="";
$txtValue2 ="";

if(isset($_POST) && !empty($_POST['campo1'])){
//processa o formulario
.....aqui entra o todo o codigo php necessario
$txtValue1 =$_POST['campo1'];
$txtValue2 =$_POST['campo2'];
}

?>

Este é o arquivo form.php

<?php
require "controle.php"
?>
<html>
<body>
<form action="" method="post">
Campo1 : <input type="text" name="campo1" value="<?php echo $txtValue1?>">

Campo2 : <input type="text" name="campo2" value="<?php echo $txtValue2?>">

<input tye ="submit" value="Testar" >

</form>
<body>
</html>

pronto tudo sistematicamente no mesmo arquivo, fisicamente em arquivos separado e no form.php tudo que temos é um template, assim cumprindo a finalidade para a qual o php foi desenvolvido.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder