2009-10-27 27 views
1

我有一個搜索文本框。在該框中,我希望在下次加載頁面時存儲先前的搜索值。爲此,當我點擊搜索按鈕時,我創建了文本框值的會話。但我不知道如何在頁面下次加載時替換文本框中的會話值。幫我。任何幫助將不勝感激。如何在加載頁面時在文本框中存儲會話值?

回答

3
<?php 
    session_start(); // must be before any other output 

    $search_term = ''; 
    if (!empty($_SESSION['last_search_term'])) 
    { 
    // Check for last search term and update the search_term var 
    // Escaped from @Eli's suggestion - Thanks! 
    $search_term = htmlspecialchars($_SESSION['last_search_term'], ENT_QUOTES); 
    } 
?> 

<form method="get" action="page.php"> 
    <input type="text" name="query" value="<?php print $search_term; ?>" /> 
    <input type="submit" value="Search" /> 
</form> 

<?php 
    if (!empty($_GET['query'])) 
    { 
    // Form submitted 
    // Any necessary search logic here 

    $_SESSION['last_search_term'] = $_GET['query']; 
    } 
?> 

正如註釋中所述,session_start()必須放在任何其他輸出之前,否則會出現錯誤。最後一個PHP塊可能在表單之上。這取決於你和你的特定工作流程。

+0

謝謝,它的工作。對於組合框? plz – Rajasekar 2009-10-27 18:01:02

+0

哦,來吧。你應該能夠爲自己解決這個問題,不是嗎? – 2009-10-27 18:03:44

+3

不要忘記在將值放入HTML字段值時將值轉義,否則如果某人用引號標記輸入值,並且最後還會打開其他一些其他的概率值,則最終會得到一半的值。 – Eli 2009-10-27 18:04:10

1
<input type='text' style='' name='' id='' class='' value='<?php echo(htmlspecialchars($_SESSION["Whatever"], ENT_QUOTES)); ?>' /> 
相關問題