Registro de uma SESSION

Enviada por Prof. Baco 
Prof. Baco
Registro de uma SESSION
26 de February de 2007 às 06:17PM
Olá galera tudo bem? Estou com um problema a respeito de SESSION, eu li e não achei nenhum problema parecido com o meu.
É o seguinte:
Eu tenho um script onde a pessoa poderá fazer uma busca utilizando filtros, o resultado do filtro é guardado em session.
Vamos supor que ele deseja buscar por data assim eu gravo a session:
data >= '2007-01-15'
mas na hora que eu quero buscar esta session ele busca com as barras antes das aspas simples ('), ficando deste tipo:
data >= \'2007-01-15\'
Olhei até no fórum no PHPBrasil e nào achei nada pareceido.
Pensei em usar o str_replace para retirar as \ mas não dá certo pois ela náo está gravada.

O que devo fazer para retirar isto?
Marcos Regis
Re: Registro de uma SESSION
26 de February de 2007 às 07:34PM
utilize strip_slashes() para remover as barras de escape de caracteres.

Isso nao deveria ser necessário visto que eh automatico na maioria dos casos.
Deve haver algum erro na logica.
Prof. Baco
Re: Registro de uma SESSION
26 de February de 2007 às 09:47PM
Bom vamos lá então. Eu tenho uma página que tem o código
<?php session_start();
$dataini = "data >= '2007-01-15'";
$_SESSION["data"] = $dataini;
?>

A outra página que chama ela tem a seguinte função

<?php session_start();
$dataini = "Data Inicial: $_SESSION["data"];
echo $dataini;
?>

E é aí que dá o problema. Ao invés de ele imprimir a seguinte tag:
Data Inicial: data >= '2007-01-15'
Ele imprime desta maneira
Data Inicial: data >= \'2007-01-15\'

Dando erro posteriormente na senteça SQL q eu utilizo.
Atualmente eu utilizo o Ubuntu (Gnome) com Apache2+MySQL+PHP4 e não tenho problemas quando eu registro seção onde não utilizo as aspas simples, o problema estão nesta aspas.
Marcos Regis
Re: Registro de uma SESSION
27 de February de 2007 às 11:38AM
tenta assim

$dataini = "Data Inicial: ".strip_slashes($_SESSION["data"]);
Prof. Baco
Re: Registro de uma SESSION
27 de February de 2007 às 05:20PM
Funcionou direitinho... mas sem o Underline. Eu olhei no site do PHP.net sobre esta função e o correto seria:

$dataini = "Data Inicial: ".stripslashes($_SESSION["data"]);

Mas muito obrigado Marcos pela ajuda pois se não fosse por ela eu não tinha conseguido.

Obrigado, se precisar de algo que por ventura eu possa ajudar estamos aí.
Marcos Regis
Re: Registro de uma SESSION
02 de March de 2007 às 10:22AM
Putz... verdade... usei o underline pois devo ter confundido com strip_tags();

hehe.. mas o importante eh que deu certo.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.