2011-11-04 53 views
0

我用下面的查询显示数据:改变从饼干设置可选择

$query = "SELECT * FROM table 
      WHERE 
      city LIKE '$city' 
      AND approved = '1' 
      AND enddate > NOW() 
      ORDER BY id DESC"; 

市被定义为:

$city=str_replace(array('-','\'','"'), array(' ','',''), trim($_GET['city'])); 

和伟大工程,但现在当用户登录,他们的本地城市存储在不同的表格中,我不想继续对多个表格进行查询,所以我使用$ _SESSION从登录页面进行查询。

我的问题是,当你第一次登录数据库查询,应根据用户的设置分别是:

$city=str_replace(array('-','\'','"'), array(' ','',''), trim($_SESSION['user_city'])); 

和工程,以及,唯一的问题是伟大的,当你尝试在改变城市该网站,它坚持饼干。

我将如何设置,只有在登录$city = cookie,及其单击后,

city = $_GET['blah'] ? 

提前感谢!

+0

这是一个非常可怕的SQL转义函数,并且会在某些时候咬你。不要推出自己的转义函数 - 使用为您提供的函数:'mysql_real_escape_string()'。 –

回答

0

您已获得使用以下

$city=str_replace(array('-','\'','"'), array(' ','',''), trim($_SESSION['user_city'])); 

城市后你为什么不正好被清除$ _SESSION [ 'user_city']。那样$ _SESSION ['user_city']将不会持续,您可以随后为$ city指定任何其他值。

<?php unset($_SESSION['user_city']); ?>