Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

D!NE!-PET

Passando variaveis por Query

Recommended Posts

:huh:

Bem eu fiz duas páginas, e gostaria de que uma mandasse as variaveis para a outra através de query string..

 

a primeira é esta:

 

envia2.php

<html><head>  <title>Enviando Dados para Gráficos d barra</title></head><body>Insira os dados a serem diagramados em gráficos.<table>	<tr><td>Vendas:</td> <td><input name="vendas" type="text" value="<? $vendas  ?>">%    </td>    </tr>    <tr>    <td>Lucro:</td> <td><input name="lucro" type="text" value="<? $lucro ?>">%</td>    </tr>    <tr>    <td>    <? echo"<a href='exibi2.php?venda=$venda&lucro=$lucro'> enviar </a>";    ?>    </td>    <td>  </td></tr></table><br><br>»<font color="red" size="2">obs.: Como os dados são dados em porcentagem não poderão haver<br> dados menores que 0(zero) e também não poderão ser maiores do que 100(cem).</font></body></html>

 

A segunda página é onde estão serão tratados:

 

exibi.php

 

<html><head>  <title>Gráfico das Vendas e Lucros </title></head><body><?php$vendas = $vendas;/* O valor é passado por query string */$lucro = $lucros; /* O valor passado por query string  também */if($vendas < 0){ /*Não podem existir valores negativos em porcentagem  */ echo "Valor invalido, Não podem haver vendas negativas!"; include ("envia.php");/* vamos incluir de novo o formulário para acertar os valores */ }elseif($vendas > 100){ /*Não podem existir valores maiores do que 100% */ echo "Valor invalido, Não podem haver vendas maiores que 100%"; include ("envia.php"); /* Vamos incluir de novo o formulário para acertar os valores*/ } else {// Se tiver tudo correto exibiremos o gráfico echo"<font color='green' size='4'>  <div align='center'> Gráfico de Vendas (%)</div></font> <br> <br>"; echo "vendas:"; for($i=0; $i< $vendas; $i++){/* Este for vai imprimir o nº de vezes que tiver no gráfico valor venda */ echo"<font color='blue'>|</font>"; }//for echo "$vendas %"; }//else /* daqui para baixo é uma copia da parte de cima e não precisa ser comentado!*/ if($lucro < 0){ echo "Valor invalido, Não podem haver lucros negativos!"; include ("envia.php"); }elseif($lucro > 100){ echo "Valor invalido, Não podem haver lucros maiores que 100%"; include ("envia.php"); } else { echo" <br><br><font color='green' size='4'><div align='center'>Gráfico de Lucro (%)</div></font><br><br>"; echo "lucro:"; for($i=0; $i< $lucro; $i++){ echo"<font color='blue'>|</font>"; }//for echo "$lucro %"; }//else?></body></html>

Gostaria de que alguém me explicasse como se faz porque ainda não entendi direito

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra, ja achei um erro no inicio do seu codigo de kra:

 

<? $vendas ?>

 

isso ai tem alguns erros:

1 - você n executou comando nenhum

2 - n tem ; apos o comando (alias, n tem nem comando)

 

o correto seria:

 

<? echo $vendas; ?>

 

e melhor ainda seria:

 

<?php echo $vendas; ?>

 

n fique c viciando em <? ?>, use <?php ?>, pois nem todos os servidores estao configurados pra usar esses atalhos.

 

na 2 pagina,

 

evite usar variaveis globais:

 

no lugar de: $vendas = $vendas;

coloca: $vendas = $_POST[vendas];

 

e outra, variaveis n saum passadas por query... querys saum pedidos em um banco de dados, variaveis saum passadas por GET ou POST, isso depende do modo como você vai setar no fomulario:

 

ou: <form method="post">

ou: <form method="get">

 

vamos examinar cada modo:

 

GET -> as variaveis saum pessadas pelo proprio link, ou seja, ficam no endereco (ex: resposta.php?id=2&pag=teste&nome=meu_nome)

 

vantagens: você pode passar variaveis por GET sem precisar de formularios

desvantagens: você tem um limite, pois o endereco n pode passar de 255 caracters (n tenho certeza c eh 255, mas tem um limite)

 

outra desvantagem: qualquer um ve as variaveis passadas apenas olhando para o link, oq n eh mto seguro

 

POST -> as variaveis saum passadas de forma oculta

vantagens:

1 - como elas saum passadas de forma oculta, a protecao eh maior

2 - o limite eh MTO maior que o do GET (o limite eh configurado no server, 3MB por padrao)

 

desvantagens:

tem que usar um formulario para passar as variavei

 

bom, espero que voce tenha entendido oq eh POST e GET, voltando para o seu script:

 

pelo geito você ta tentando passar suas variaveis por GET, e esta tentando isso de uma forma mto errada. use um formulario para passar as coisas:

 

<form method="post" action="pagina_receptora.php">

Nome: <input type="text" name="nome"><br>

Email: <input type="text" name="email"><br>

Senha: <input type="password" name="senha"><br>

<input type="submit" value="Enviar">

</form>

 

dessa forma acima (q eh apenas um exemplo) as variaveis vaum ser passadas por POST, e você pode pega-las na pagina receptora da seguinte forma:

 

$nome = $_POST[nome];

$email = $_POST;

$senha = $_POST[senha];

 

se elas tivessem sido passadas por GET, voce pegaria dessa forma:

 

$nome = $_GET[nome];

$email = $_GET;

$senha = $_GET[senha];

 

bom, acho q isso eh td kra, da uma olhada ai nas coisas q eu falei, c mesmo depois de tentar você n conseguir, volta a perguntar q eu t ajudo d novo sem problemas ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando formularios, e recuperando do outro lado eu já consegui...Eu queria saber passar parametros para outra página sem ser pelo formulário entendeu.quanto ao erro <? $vendas ?> realmente foi um erro. :( Teria de ser <?php echo $vendas; ?> ;) mas o que quero fazer é o seguinte Passar a variavel $vendas e $lucro para a segunda página sendo que não por formulario.Tem como fazer isso?algo tipo assim <a href= 'exibi.php?vendas=20&lucro=35'> enviar </a>Onde os valores 20 e 35 teriam de vir do campos Input type='text' ;Para que do outro lado do script se fizesse a checagem dos dados e somente assim montar o Grafico, não sei se você viu mas é o que estou tentando fazer. :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria um formulário com os campos de texto com os nomes: vendas e lucro e depois recupera por POST ...ou por GET, teria q usar alguma coisa em javascript pra atualizar os valores da action do form pros valores digitados nos campos text..eh isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando formularios, e recuperando do outro lado eu já consegui...Eu queria saber passar parametros para outra página sem ser pelo formulário entendeu.quanto ao erro <? $vendas ?> realmente foi um erro. :( Teria de ser <?php echo $vendas; ?> ;) mas o que quero fazer é o seguinte Passar a variavel $vendas e $lucro para a segunda página sendo que não por formulario.Tem como fazer isso?algo tipo assim <a href= 'exibi.php?vendas=20&lucro=35'> enviar </a>Onde os valores 20 e 35 teriam de vir do campos Input type='text' ;Para que do outro lado do script se fizesse a checagem dos dados e somente assim montar o Grafico, não sei se você viu mas é o que estou tentando fazer. :wacko:

tem como sim, vamos ao Javascript!!
<script>function envia() {  vNome = nome.value;  vEmail = email.value;  vSenha = senha.value;  location.href = "resposta.php?nome=" + vNome + "&email=" + vEmail + "&senha=" + vSenha;}</script>Nome: <input type="text" id="nome"><br>Email: <input type="text" id="email"><br>Senha: <input type="password" id="senha"><br><input type="button" onclick="envia()">
c você quizer usar um link (<a href=...) para enviar faca isso:<a href="java script:envia();">Enviar</a>em base eh isso ai, esse codigo funciona em Internet Explorer, em Netscape e outros eu n garanto, esse eh o principal problema de usar javascript, mas c eh isso q você precisa ;) qq coisa v c algum programador Javascript Cross-browser consegue da uma ageitada no problema de incompatibilidade pra você ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.