Ir para conteúdo
Fórum Script Brasil
  • 0

Usar Varialvel de uma pagina em outra


marcosfj1

Pergunta

Bom seguinte, vou tentar explicar certinho porque é meio confuso, mas acho q não seja dificil de resolver.

Eu tenho duas paginas envia_newsletter.php e o trata_newsletter.php, vamos la:

Na primeira eu tenho: ENVIA_NEWSLETTER.PHP

Crie todo um formulario, que esta funcionando perfeitamente bem, vou colocar apenas o necessario desse formulario:

<tr>
<td align="right">E-mail individual</td>
<td align="left"><input name="email" type="text" id="email" size="40" value="<?=$_POST['email'].$_SESSION['newsletter_enviar']['email'] ?>" /></td>
</tr>
<tr>
<td align="right">Texto (opcional)</td>
<td align="left"><textarea name="descricao" cols="40" id="descricao"><?=$_POST['descricao'].$_SESSION['newsletter_enviar']['texto']?></textarea></td>
</tr>
Bom ate aqui sem problemas na hora de tratar os dados e mostra-los. E a pagina TRATA_NEWSLETTER.PHP fica assim: Primeiro eu verifico o email se existe no banco e tal. e funciona perfeitamente. Depois em meio a uma estrutura eu coloco o que eu pego o que foi escrito no campo Texto (opcional), da seguinte forma:
if ($_SESSION['newsletter_enviar']['descricao'])
$mensagem .= '
<table width="100%">
<tr>
<td align="center"><div style="width:550px;margin-top:5px;">'.nl2br($_SESSION['newsletter_enviar']['descricao']).'</div></td>
</tr>';
Assim no meio de muitas coisas mostradas eu mostro o Texto digitado, atraves da variavel descricao. Bom ate aqui td bem ao enviar o email vai todos os outros dados que pego do formulario, incluindo este da descricao. Mas o problema é o seguinte, em ENVIA_NEWSLETTER.PHP la no formulario eu tenho 2 CHECKBOX cada um tem uma tabela dentro dele, ou seja um estilo de tabela dentro dele. Bom então o que eu quero é o seguinte que quando o administrador que for mandar a newsletter(detalhe só o admin tem acesso a esta parte) escolha um checkbox vá para o email um tipo de tabela, porque o que eu tenho é isso: AQUI ESTAO OS CHECKBOX PEGANDO A ESCOLHA
<td><input type="checkbox" name ="modelo1" value="modelo padrão" /> Modelo 1</td>
<td><input type="checkbox" name ="modelo2" value="Modelo 2" /> Modelo 2</td>
AQUI ONDE EU TRATO OS CHECKBOX, JOGANDO O VALOR REFERENTE AO QUE ELE ESCOLHE PARA DENTRO DE UMA VARIAVEL // MODELO 1
if(isset($_POST["modelo1"])){
$tabela = 
'<table align="center" border="0" cellSpacing=0 cellPadding=0>
<tr>
<td width="528" height="130"><img src="http://AQUI VAI UMA IMAGEM QUE É ENVIADA AO FTP E RECUPERDA AQUI, PARA SER INSERIDA NA TABELA" width="528" height="130" border="0"/></td>
</tr>
</table>';
//MODELO 2
if(isset($_POST["modelo2"])){
$tabela = 
'<table align="center" border="0" cellSpacing=0 cellPadding=0>
<tr>
<td width="528" height="130"><img src="http://AQUI VAI UMA OUTRA IMAGEM QUE É ENVIADA AO FTP E RECUPERDA AQUI, PARA SER INSERIDA NA TABELA" width="528" height="130" border="0"/></td>
</tr>
</table>';

Bom ate aqui tudo beleza, as imagens são enviadas para o FTP, se eu der um echo $tabela, a tabela que eu escolhi de acordo com o modelo é mostrada com a imagem, tudo perfeito. Mas assim como eu fiz com o Texto(opcional) e enviei ele para a pagina TRATA_NEWSLETTER.PHP quero enviar a variavel $TABELA para la, já tentei simplesmente colocar ela la mas não apareceu nada. então é isso que eu queria saber como eu faço para enviar esta variavel para outra pagina?

alguém tem alguma dica?

Valeu

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
Não entendi bem, mas se o negócio é passar por uma página e redirecionar para a outra mantendo os dados do formulário, é fácil. Coloque isso:

<?php

header("Location: pagina.php",TRUE,307)

?>

não cara não é bem isso, o que eu quero é simplesmente mostrar a variavel $tabela assim como eu fiz com a variavel descricao. Mals ai se não to sendo muito claro hehe é q é dificil ate pra explicar o q eu quero, mas basicamente seria pegar a variavel mesmo

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0
Cara, você usa o botão para enviar para trata_newalater, você já tentou mandar essa variavel através de um hidden ?

Assim:

<input type="hidden" name="hiddenField" id="hiddenField" value='<?php echo $tabela'; ?> />

não tentei não, como eu poderia fazer isso, vi que você colocou o input ai, mas onde eu poderia colocar? Alias como ele não é mostrada eu posso coloca-lo em qualquer lugar certo?

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Você colocar o hidden entes do botão de enviar, isso porque estou imaginando que você enviar isso via POST

Cara, você usa o botão para enviar para trata_newalater, você já tentou mandar essa variavel através de um hidden ?

Assim:

<input type="hidden" name="hiddenField" id="hiddenField" value='<?php echo $tabela'; ?> />

não tentei não, como eu poderia fazer isso, vi que você colocou o input ai, mas onde eu poderia colocar? Alias como ele não é mostrada eu posso coloca-lo em qualquer lugar certo?

Valeu

Editado por piteco
Link para o comentário
Compartilhar em outros sites

  • 0
Você colocar o hidden entes do botão de enviar, isso porque estou imaginando que você enviar isso via POST

Cara, você usa o botão para enviar para trata_newalater, você já tentou mandar essa variavel através de um hidden ?

Assim:

<input type="hidden" name="hiddenField" id="hiddenField" value='<?php echo $tabela'; ?> />

não tentei não, como eu poderia fazer isso, vi que você colocou o input ai, mas onde eu poderia colocar? Alias como ele não é mostrada eu posso coloca-lo em qualquer lugar certo?

Valeu

A sim eu envio via POST é q não coloquei tudo do formulario senao ficaria muito grande mas estou enviando via POST, e acho q entendi o campo hidden, só tom com uma duvida, este ECHO não fará com que ao clicar no botao enviar apareca a tabela?

Value, vou tentar aqui

Link para o comentário
Compartilhar em outros sites

  • 0

Não, é exatamente isso, o campo hidden ele deixa a variavel escondida.

Teste para ver se funciona.

Você colocar o hidden entes do botão de enviar, isso porque estou imaginando que você enviar isso via POST

Cara, você usa o botão para enviar para trata_newalater, você já tentou mandar essa variavel através de um hidden ?

Assim:

<input type="hidden" name="hiddenField" id="hiddenField" value='<?php echo $tabela'; ?> />

não tentei não, como eu poderia fazer isso, vi que você colocou o input ai, mas onde eu poderia colocar? Alias como ele não é mostrada eu posso coloca-lo em qualquer lugar certo?

Valeu

A sim eu envio via POST é q não coloquei tudo do formulario senao ficaria muito grande mas estou enviando via POST, e acho q entendi o campo hidden, só tom com uma duvida, este ECHO não fará com que ao clicar no botao enviar apareca a tabela?

Value, vou tentar aqui

Link para o comentário
Compartilhar em outros sites

  • 0

Vixi cara acabou não dando certo... fiz assim

<input type="hidden" name="hiddenField" id="hiddenField" value='<?php echo $tabela; ?>' />
Botao submit Ai na pagina q quero estruturar não apareceu coloquei la
$mensagem = '<table width="100%">
        <tr>
        <td align="center"><div style="width:550px;">'.$tabela.'</div></td>
        </tr>';
                                  
//
if ($_SESSION['newsletter_enviar']['descricao'])
    $mensagem .= '<table width="100%">
            <tr>
            <td align="center"><div style="width:550px;margin-top:5px;">'.nl2br($_SESSION['newsletter_enviar']['descricao']).'</div></td>
            </tr>';
Ai a descricao aparece quando envio o email mas a $tabela não Tem problema eu estar colocando primeiro o botao submit com o campo hidden, e depois inserindo o html q quero na variavel $tabela, tipo assim Botao hidden Botao Submit
$tabela = 'campos html'

E ai alguma ideia?

Link para o comentário
Compartilhar em outros sites

  • 0

Recaptulando:

você envia a variavel assim

$tablea = 'valor qualquer';

<input type='hidden' name='tabela' id='tabela' value='<?php echo $tabela ?>' >
<input type = 'submit' name='envia' value ='Enviar'
Na outra página você tá recebendo assim:
$tabela = $_POST['tabela'];
echo $tabela;

tá fazendo assim ?

Link para o comentário
Compartilhar em outros sites

  • 0
Recaptulando:

você envia a variavel assim

$tablea = 'valor qualquer';

<input type='hidden' name='tabela' id='tabela' value='<?php echo $tabela ?>' >
<input type = 'submit' name='envia' value ='Enviar'
Na outra página você tá recebendo assim:
$tabela = $_POST['tabela'];
echo $tabela;
tá fazendo assim ?
Fiz assim cara, coloquei o hidden como você recomendou, e na pagina q monta os dados coloquei:
$tabela = $_POST['tabela'];
if($_SESSION['newsletter_enviar']['tabela'])
$mensagem = '<table width="100%">
        <tr>
        <td align="center"><div style="width:550px;">'.$tabela.'</div></td>
        </tr>';
Mas não aconteceu nada, em compensacao o campo descricao aparece normalmente
if ($_SESSION['newsletter_enviar']['descricao'])
$mensagem .= '<table width="100%">

<tr>

<td align="center"><div style="width:550px;margin-top:5px;">'.nl2br($_SESSION['newsletter_enviar']['descricao']).'</div></td>

</tr>';

E quando eu vou na minha caixa de entrar do meu email ver, aparece a descricao q eu digitei porem não aparece a imagem

Alguma dica?

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa pela demora, mas tive problemas de saúde na familia de nem vi tb ontem.

Veja bem, fiz aki um teste rápido, veja o q fiz e vê se serve para o que você quer.

Aconselho q você pegue o código e teste numa pasta direfente e verá o resultado, aki funcionou.

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <form action="op_teste.php" method="post">
            <?php
                $tabela ="<table align='center' border='0' cellSpacing=0 cellPadding=0>
                <tr>
                <td width='528' height='130'><img src='../telediagnostico/admin/imagens/logo_telemedicina.jpg' /></td>
                </tr>
                </table>";
                
    ?>
    <img src="../telediagnostico/admin/imagens/logo_telemedicina.jpg" />
    <input name="tabela" type="hidden" value="<?php echo $tabela; ?>" />
    <input name="teste" type="submit" />

    </form>
</body>
</html>
op_teste.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <?php
        $tabela = $_POST['tabela'];
        echo $tabela;
        exit;
    ?>
</body>
</html>

Espero q de alguma forma isso sirva para vc, e desculpa mesmo a demora.

Link para o comentário
Compartilhar em outros sites

  • 0
Desculpa pela demora, mas tive problemas de saúde na familia de nem vi tb ontem.

Veja bem, fiz aki um teste rápido, veja o q fiz e vê se serve para o que você quer.

Aconselho q você pegue o código e teste numa pasta direfente e verá o resultado, aki funcionou.

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <form action="op_teste.php" method="post">
            <?php
                $tabela ="<table align='center' border='0' cellSpacing=0 cellPadding=0>
                <tr>
                <td width='528' height='130'><img src='../telediagnostico/admin/imagens/logo_telemedicina.jpg' /></td>
                </tr>
                </table>";
                
    ?>
    <img src="../telediagnostico/admin/imagens/logo_telemedicina.jpg" />
    <input name="tabela" type="hidden" value="<?php echo $tabela; ?>" />
    <input name="teste" type="submit" />

    </form>
</body>
</html>
op_teste.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <?php
        $tabela = $_POST['tabela'];
        echo $tabela;
        exit;
    ?>
</body>
</html>

Espero q de alguma forma isso sirva para vc, e desculpa mesmo a demora.

Poxa cara valeu ai a dedicaçao em fazer isso td pra me ajudar, vou dar uma estudada aqui e ver o que resolve...mas to pensando em trabalhar com SESSION acho q daria mais certo, de qualquer modo vou tentar aqui desse jeito q me passou depois eu falo o q virou

Valeu mesmo

Link para o comentário
Compartilhar em outros sites

  • 0

Cara segui seu esquema, fiz umas alteracoes e acabou dando certo, aquilo q eu coloco na variavel $tabela é mostrado no email, assim como eu queria.

O que eu preciso agora, e controlar aquilo q insere na variavel de acordo com o checkbox escolhido, por exemplo

Se o usuario escolher a checkbox 1 ai a variavel $tabela recebe um determinado codigo html

Se ele escolher o checkbox 2 ai a variavel $tabela recebe um outro codigo html

Assim sera enviado para o email o modelo html q o usuario escolheu...tem alguma ideia de como posso fazer isso?

Valeu

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...