Guardar código em variável php e executar em outra página

Enviada por Matheus Faria 
Matheus Faria
Guardar código em variável php e executar em outra página
27 de December de 2016 às 09:04PM
Prezados boa noite,

Gostaria da ajuda de vocês para solucionar a seguinte questão: Tenho um formulário que pega do banco de dados as informações que aparecerão nos campos do mesmo. Este formulário não deve aparecer na página A.php porém ser guardado em uma variável php para ser mostrado na página B.php.
Como deve ser a sintaxe para guardar o formulário na página A.php e ao ser printf() na página B.php os valores nos campos aparecerem?

Segue código abaixo:

---------------X-------------
PÁGINA A.PHP
<?php
mysql_free_result($Recordset1);
$_SESSION['html'] = <<<HTML
<!doctype html>
<html lang='pt-br'>
<head>
<link href='../css/sistema.css' rel='stylesheet' type='text/css' media='all'>

<style type="text/css">
#empresarial
{
display:none;
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>TUPÃ Engenharia</title>
</head>
<body onload="javascript: location.href='#rec_openModal'">
<div id="rec_openModal" class="modalDialog">
<div>
<a class="close" title="Fechar" href="#close">X</a>
<form action="mysql/update_process.php" method="post">
<fieldset>
<legend>Cadastrar novo cliente</legend>
<br><label>Modalidade:</label>
<select name="modality" onLoad="mostraDiv(this.value)" value={$row_Recordset1['modality']}>
<option value="1">Residencial</option>
<option value="2">Comercial</option>
<option value="3">Industrial</option>
</select>
<br/>
<br><label>Número de fase: </label> <select name="number_phase" value={$row_Recordset1['number_phase']}>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br/>
<br><label>Média anual de consumo: </label> <input name='consuption_average' type='text' value="echo {$row_Recordset1['consuption_average']}" > <br/>
<br><label>Descrição do local de instalação: </label><textarea name="roof" rows="4" cols="40"></textarea><br/>
<div id="residencial">
<br><label>Nome do cliente: </label> <input name='name' type='text' value={$row_Recordset1['idclient']} /> <br/>
<br><label>CPF: </label> <input name='cpf' type='text' /> <br/>
<br><label>e-mail: </label> <input name='email' type='text' /> <br/>
<br><label>Telefone: </label> <input name='telephone' type='text' /> <br/>
<br><label>Celular: </label> <input name='cellphone' type='text' /> <br/>
</div>
<div id="addons">
<br><label>Mais informações: </label> <textarea name="contact_addons" rows="4" cols="40"></textarea><br/>
<br><label>CEP: </label> <input name='cep' type='text' /><br/>
<br><label>Número: </label> <input name='number' type='text' /><br/>
<br><label>Complemento: </label> <input name='neighborhood' type='text' /><br/>
<br><label>Descrição da residência: </label> <textarea name="residence_addons" rows="4" cols="40"></textarea><br/>
</div>
<div id="empresarial">
<br><label>Nome da empresa: </label> <input name='company' type='text'/><br/>
<br><label>CNPJ: </label> <input name='cnpj' type='text' /><br/>
<br><label>CEP: </label> <input name='cep' type='text' /><br/>
<br><label>Número: </label> <input name='number' type='text' /><br/>
<br><label>Complemento: </label> <input name='neighborhood' type='text' /><br/>
<br><label>Descrição da empresa: </label> <textarea name="company_addons" rows="4" cols="40"></textarea><br/>
</div>
</fieldset>
<center><input type="submit" value="Cadastrar"/></center>
</form>
</div>
</body>
</html>
HTML;
?>


--------------X-------------
PÁGINA B
<?php session_start()?>
<?php
header('Content-Type: text/html; charset=utf-8');
require_once('../Connections/'.$_SESSION['DB_base']);
$query_Recordset1 = "SELECT * FROM {$_SESSION['table_base']} WHERE {$_SESSION['id_base']}={$_POST['update_process']}";
$Recordset1 = mysql_query($query_Recordset1, $commercial) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

printf($_SESSION['html']);

$query = "update {$_SESSION['table_base']} set ";
foreach($_POST as $key=>$value) {
if($key != $_SESSION['id_base']) {
$inputs[] = " $key = ? ";
$valueArray[] = $value; }
}
$query .= implode( ',', $inputs );
$query .= " where {$_SESSION['id_base']} = " . $_POST['update_process'];
$sth = $pdo->prepare($query);
$sth->execute($valueArray);
?>
Eduardo Molina
Re: Guardar código em variável php e executar em outra página
28 de December de 2016 às 06:29PM
Boa tarde, isto ai é duvida inicial de envio de informações do formulario, o que tu ira ter que fazer e observar o nome que tu deu para os itens do teu formulario digamos por exemplo...


<input name='cnpj' type='text' />

Se reparar neste exemplo de teu formulario, temos um imput ou seja caixa de texto, que tem o campo NAME(NOME), definido como CNPJ, ou seja tu ira usar uma variavel com a seguinte sintaxe.

$_POST['cnpj'];

Simplesmente isto, porem pode colocar alguma variavel recebendo esta informação exemplo.

$variavel = $_POST['cnpj'];


A mesma coisa para os demais campos de teu formulario, digo, input, textarea, select;
Jayme A. C. Gimenez
Re: Guardar código em variável php e executar em outra página
28 de December de 2016 às 06:31PM
É muito código pra se olhar em um simples fórum. Vou tentar, então, responder sua pergunta de forma genérica, sem conhecer detalhes da página A.

A forma mais prática de fazer o que você está querendo é, na página A, salvar os dados que vêm do banco na SESSION. Então, até que esses dados da SESSION sejam destruídos por um código (digamos, ao sair da página B, o sistema não usará mais os dados capturados na página A. Então, no final da página B, você usa o código para apagar os dados da página A da SESSION), eles poderão ser usados em qualquer outra página que não a A.
Matheus Faria
Re: Guardar código em variável php e executar em outra página
28 de December de 2016 às 11:59PM
Boa noite Senhores,

@Eduardo: Vc tem razão. Mas dá uma olhada onde na linha

<br><label>Nome do cliente: </label> <input name='name' type='text' value={$row_Recordset1['idclient']} /> <br/>

Deveria buscar o valor do DB e escrever no campo correto? Isto não está acontecendo quando eu dou o printf() na página B, o valor não aparece.
Eduardo Molina
Re: Guardar código em variável php e executar em outra página
29 de December de 2016 às 09:22AM
não havia reparado no foreach, [foreach($_POST as $key=>$value)]

A tua explicação sobre a linha do id {$row_Recordset1['idclient']} isso não é tentativa de ligar ao BD ? se for não deveria ser feita uma declaração de onde a variável viria.
Matheus Faria
Re: Guardar código em variável php e executar em outra página
02 de January de 2017 às 02:06AM
Sim, é uma tentativa de buscar um dado no DB e está no lugar onde a variável deve aparecer.
Matheus Faria
Re: Guardar código em variável php e executar em outra página
02 de January de 2017 às 02:10AM
O fato é que quando a página B é aberta, os valores das variáveis não aparecem nos campos.

Ex:
<label>Nome do cliente: </label> <input name='name' type='text' value={$row_Recordset1['idclient']} /> quando é guardado na página A pelo comando $_SESSION['html'] = <<<HTML e colado na página B pelo comando printf, não aparece o valor da variável buscada no campo NAME.
Jayme A. C. Gimenez
Re: Guardar código em variável php e executar em outra página
02 de January de 2017 às 04:47PM
Pois é... Na página B, $row_Recordset1['idclient'] não existe mais. O valor de $row_Recordset1['idclient'] poderá ser acessado na página B se ele tiver sido salvo na SESSION na página A. Por exemplo, se o valor de $row_Recordset1['idclient'] foi salvo, em A, como $_SESSION['html'], seu input seria:

<label>Nome do cliente: </label> <input name='name' type='text' value="<?php echo $_SESSION['html'];?>" />

(ou algo assim; pode ter erro de sintaxe, pois fiz direto aqui, só pra dar um exmplo)
Eduardo Molina
Re: Guardar código em variável php e executar em outra página
03 de January de 2017 às 05:41PM
sim, a variável não foi declarada em B.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.