Retorno entre PHP x HTML

1. Retorno entre PHP x HTML

Paulo
henbran

(usa Debian)

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.


  


2. Re: Retorno entre PHP x HTML

Célio de Jesus Santos
celiojs

(usa Suse)

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

Vinicus S Moraes
vsmoraes

(usa Arch Linux)

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

Célio de Jesus Santos
celiojs

(usa Suse)

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

Gedalias Costa
gedalinux

(usa Slackware)

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.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts