Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

07-02-2008 19:49

Olá,
Eu preciso enviar uma varável de forma segura, e alguns amigos sugeriram que eu faça isso com session ao invez de GET.
Mas eu não estou conseguindo, pois eu pego os dados do banco de dados e apresento, sendo assim podem aparecer vários dados, daí cria vários sessions, mas eu nao sei como fazer para que a próxima página saiba qual session pegar.
Um amigo deu a dica de usar com rand, mas ele sempre mostra o mesmo resultado.
No caso eu tenho que passar o valor do campo ID. Segue abaixo o script limpo, sem session e sem rand:

while ($row = mysql_fetch_array($sql_result)) { $id = $row["ID"]; $nome = $row["NOME"]; $data = $row["DATA"]; $valor_real = $row["VALOR_REAL"]; $data_dia = explode(" ", $data); $pr_nome = explode(" ", $nome); $valor_seu = $valor_real*0.1; echo " <tr><td>$pr_nome[0]</td><td align=\"center\">$data_dia[0]</td><td>R$ $valor_real</td><td>R$ $valor_seu</td><td align=\"center\"><a href=\"pedido_receber.php\">receber</a></td></tr>";

Com rand nós tentamos fazer desta forma:

while ($row = mysql_fetch_array($sql_result)) { $id = $row["ID"]; $nome = $row["NOME"]; $data = $row["DATA"]; $valor_real = $row["VALOR_REAL"]; $data_dia = explode(" ", $data); $pr_nome = explode(" ", $nome); $valor_seu = $valor_real*0.1; $rand = rand(1000, 9999); $_SESSION['$rand'] = $id; echo " <tr><td>$pr_nome[0]</td><td align=\"center\">$data_dia[0]</td><td>R$ $valor_real</td><td>R$ $valor_seu</td><td align=\"center\"><a href=\"pedido_receber.php?rand=$rand\">receber</a></td></tr>";

E na página pedido_receber.php eu fiz assim para receber o dado:

$rand = $_GET['rand']; $id = $_SESSION['$rand']; echo $id;

No caso aparecem dois registros, um com ID 7 e outro com ID 9, mas quando eu uso rand, clicando nos dois links, sempre aparece o 7.
Não sei se eu fui muito claro, mas caso haja alguma dúvida eu tento explicar de outra forma.

Alguém tem idéia de como resolver o modo rand, ou tem algum jeito de enviar via session que nós não pensamos?

Desde já,
Muitíssimo obrigado pela sua atenção.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17253
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviar variável de forma segura

07-02-2008 19:57

Esse valor que é passado é um id, certo?

Se sim, sem dúvida o melhor é uma session, mas, o que precisa ai é organizar, saber de onde vem, se não se perde ou muda em algum lugar no caminho.

Uma das formas de organização é essa.

<?php
session_start();
$_SESSION['ids']['primeiro']="abc";
$_SESSION['ids']['segundo']="123";
echo $_SESSION['ids']['primeiro']." e ".$_SESSION['ids']['segundo'];
?>

Note que as sessions criadas estão no grupo dos ids, assim, você pode organizar melhor ai.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

07-02-2008 20:33

Sim, eu preciso passar apenas o ID.

Eu não entendi o que você fez...

Lembrando que no exemplo eu usei como se tivesse 2 campos aparecendo, mas pode ter momentos que irão aparecer mais...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17253
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviar variável de forma segura

07-02-2008 20:46

O que fiz foi agrupar as sessions, no caso acima, primeiro e segundo estão em ids.

Analisando o seu código, olhei isso
$_SESSION['$rand'] = $id;

O correto, é não ter as aspas, veja como ficaria:
<?php
$id = "oid";
// pode usar também $id no lugar de valor da session
$_SESSION[$id]="valor da session";
echo $_SESSION['oid'];
?>

Passei esse exemplo porque acho que você quer pegar o valor de uma consulta e com ele nomear uma session.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

07-02-2008 21:38

Quando eu não coloco as aspas, não aparece nada...

Eu estava aqui pensando, acho que seria melhor com checkbox, pois assim a pessoa poderia solicitar vários de uma vez só...

Eu andei pesquisando aqui no fórum, e pra fazer isso com checkbox eu tenho que por o nome em array e usar foreach, né?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17253
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviar variável de forma segura

07-02-2008 21:57

Quanto a aspas, se não veio é porque não foi criada a variável chamada.

O script que deixei de exemplo rodou aqui blz.

Quanto ao checkbox, dá sim, pegar todos os checkbox ( em array ) e trabalhar os valores com foreach.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

07-02-2008 22:04

Mas como eu vou criar uma session usando o rand? Porque aqui o valor está em branco e como irei pegá-la depois?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17253
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviar variável de forma segura

07-02-2008 22:21

Usa o método normal, dá um nome a session, um valor e pronto. Depois chama ela.
Porque com o rand, pode não gerar o nome correto da session na hora que randomizar os valores.

No caso o modo que está chamando parece estar errado.

$id = $_SESSION['$rand'];

Deveria ser:

$id = $_SESSION[$rand];

Note o exemplo que uso

<?php // crio o nome da session e armazeno em $rand $rand = "oid"; // defino o valor da session $_SESSION[$rand]="valor da session"; // mostro o valor da session echo $_SESSION[$rand]; ?>

O script que passei está ok, não esqueça de usar o session_start() no começo do seu código PHP.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

07-02-2008 22:30

Mas se são mais de uma session, eu não posso dar um valor certo pra ela...
porque como eu posso saber qual session ele aperto??

Por isso eu estou usando o rand, pq cada session vai ter um nome diferente, pra saber qual vai ser, daih eu mando o valor do rand por get pra saber qual pegar, mas a session fica sem valor, ela aparece vazia...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17253
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviar variável de forma segura

07-02-2008 23:18

Usa o foreach para pegar todos os valores da session

<?php $_SESSION['nome']="João"; $_SESSION['email']="joao@joao.com"; foreach($_SESSION as $ids) { echo $ids."<br>"; } ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

08-02-2008 12:58

Mas eu não posso pegar todos, só tenho que pegar um deles, ou seja, o que a pessoa quiser...
0
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: Santa Catarina/Florianópolis/Brasil
Contato:

Enviar variável de forma segura

08-02-2008 18:07

Consegui fazer com o session, meu amigo fez um negocio pra sortiar letras ao invez de numeros e deu certo...

muito obrigado por tentar me ajudar... vlw mesmo cara
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17253
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Enviar variável de forma segura

08-02-2008 19:09

flw ¨grin¨
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado