2011-11-04 54 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']); ?>