Note that there are some explanatory texts on larger screens.

plurals
  1. POphp session vars
    primarykey
    data
    text
    <p>I'm working on news archive page for my website, search over archive is done with start date, end date and news category as search parameters. Form values are stored in $_SESSION var, and then they are passed around as an array for pagination and other purposes. My question would be how to prevent displaying search results on main archive search page if user for some reason goes again to it to make a new search.</p> <p>here's the code</p> <pre><code>&lt;?php session_start(); if (isset($_POST['submit'])) { //get data from the form $archFld_1 = $_POST['archiveFld1']; $archFld_2 = $_POST['archiveFld2']; $archFld_3 = $_POST['archiveFld3']; //just some check on fields if (strlen($archFld_1) &gt; 10) { $archFld_1 = ""; } if (strlen($archFld_2) &gt; 10) { $archFld_2 = ""; } //save them as a array and store to session var $_archValues = array($archFld_3, $archFld_1, $archFld_2); $_SESSION['storeValues'] = $_archValues; } if (isset($_SESSION['storeValues'])) { //check params for search //set cat for query if ($_SESSION['storeValues'][0] &gt; 0) { $valCat = "AND newsCat=". $_SESSION['storeValues'][0] ." "; } else { $valCat = ""; } //set date for query if(($_SESSION['storeValues'][1] != "" ) &amp;&amp; ($_SESSION['storeValues'][2] == "")) { $DateStart = $_SESSION['storeValues'][1]; $valDate = " AND STR_TO_DATE(newsDate, '%d-%m-%Y') &gt;= STR_TO_DATE('$DateStart', '%d-%m-%Y') "; } if(($_SESSION['storeValues'][2] != "") &amp;&amp; ($_SESSION['storeValues'][1]=="")) { $DateEnd = $_SESSION['storeValues'][2]; $valDate = " AND STR_TO_DATE(newsDate, '%d-%m-%Y') &lt;= STR_TO_DATE('$DateEnd', '%d-%m-%Y') "; } if(($_SESSION['storeValues'][1]!="") &amp;&amp; ($_SESSION['storeValues'][2] != "")) { $DateStart = $_SESSION['storeValues'][1]; $DateEnd = $_SESSION['storeValues'][2]; $valDate = " AND STR_TO_DATE(newsDate, '%d-%m-%Y') BETWEEN STR_TO_DATE('$DateStart', '%d-%m-%Y') AND STR_TO_DATE('$DateEnd', '%d-%m-%Y') "; } //query string and stire it to session $archQuery_string = $valCat.$valDate; $_SESSION['storeQuery'] = $archQuery_string; } //pagination start $page = $_GET['id']; $perPage = 10; $result = wbQuery("SELECT * FROM wb_news WHERE newsLang=1 ". $_SESSION["storeQuery"] ."ORDER BY newsId DESC"); $totalPages = mysql_num_rows($result); if(!$page) $page = 1; $start = ($page - 1)*$perPage; ?&gt; &lt;div id="sps_middle"&gt; &lt;div class="sps_cnt"&gt; &lt;div id="sps_middle_ly1"&gt; &lt;div class="sps_cnt_small"&gt; &lt;div class="sps_page_title"&gt;&lt;h3&gt;&lt;?php echo $wb_lng['txtArchiveTitle']; ?&gt;&lt;/h3&gt;&lt;/div&gt; &lt;div class="sps_pages_cnt" style="padding-top: 10px; float: left; margin-bottom: 15px;"&gt; &lt;div class="sps_middle_col01"&gt; &lt;div style="float: left;"&gt; &lt;p&gt; &lt;?php echo $wb_lng['txtArchiveInfo']; ?&gt; &lt;/p&gt; &lt;form action="&lt;?php $PHP_SELF; ?&gt;" method="post" name="archiveForm" class="archiveForm"&gt; &lt;ul&gt; &lt;li&gt; &lt;input name="archiveFld1" type="text" id="archiveFld1" value="&lt;?php echo $wb_lng['txtArhivaFld_01']; ?&gt;" /&gt; &lt;input name="archiveFld2" type="text" id="archiveFld2" value="&lt;?php echo $wb_lng['txtArhivaFld_02']; ?&gt;" /&gt; &lt;select name="archiveFld3"&gt; &lt;option value="0"&gt;&lt;?php echo $wb_lng['txtArhivaFld_07']; ?&gt;&lt;/option&gt; &lt;option value="0" &gt;&lt;?php echo $wb_lng['txtArhivaFld_06']; ?&gt;&lt;/option&gt; &lt;option value="1"&gt;&lt;?php echo $wb_lng['txtArhivaFld_03']; ?&gt;&lt;/option&gt; &lt;option value="2"&gt;&lt;?php echo $wb_lng['txtArhivaFld_04']; ?&gt;&lt;/option&gt; &lt;option value="3"&gt;&lt;?php echo $wb_lng['txtArhivaFld_05']; ?&gt;&lt;/option&gt; &lt;/select&gt; &lt;/li&gt; &lt;li style="float: right;"&gt; &lt;input name="reset" type="reset" class="sps_archiveform_btn" value="&lt;?php echo $wb_lng['txtArchiveFormReset']; ?&gt;"/&gt; &lt;input name="submit" type="submit" class="sps_archiveform_btn" value="&lt;?php echo $wb_lng['txtArchiveFormSend']; ?&gt;"/&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/form&gt; &lt;/div&gt; &lt;hr /&gt; &lt;?php if (#HERE GOES SOME CODE TO PERFORM THE CHECK!!!#) { //perform db query $result = wbQuery("SELECT * FROM wb_news WHERE newsLang=1 ". $_SESSION['storeQuery'] ."ORDER BY newsId DESC LIMIT $start, $perPage"); //count rows $totalnews = mysql_num_rows($result); $count = 1; if($totalnews == 0) { //no results, say to the user echo "\t\t\t&lt;div class=\"cil_news_text_big\"&gt;\n\t\t\t\t".$wb_lng['txtArchiveNoEntries']."\n\t\t\t&lt;/div&gt;\n"; } else { //we have results, yeeeeeeeeey while($ROWnews = mysql_fetch_object($result)){ //set link extensions by the news cat switch ($ROWnews-&gt;newsCat) { case 1: $newsCat_link = "news"; break; case 2: $newsCat_link = "statements"; break; case 3: $newsCat_link = "events"; break; } //text summary if (strlen($ROWnews-&gt;newsShort) &gt; 0 ) {$newsShortTxt = strip_tags($ROWnews-&gt;newsShort); if ($lang_id==2) { $newsShortTxt = wbTranslit($newsShortTxt); } } else { $newsShortTxt = strip_tags($ROWnews-&gt;newsFull); if ($lang_id==2) { $newsShortTxt = wbTranslit($newsShortTxt); } } $newsShortTxt = wbShorTxt($newsShortTxt, 210, "... &lt;a title=\"".$wb_lng['txtShowMore']."\" href=\"http://".$_SERVER['HTTP_HOST']."/".$lang_link."/".$newsCat_link."/".$ROWnews-&gt;newsId."/full/\"&gt;".$wb_lng['txtShowMore']."...&lt;/a&gt;"); //show news echo "\t\t&lt;div class=\"sps_news_list\"&gt;\n"; echo "\t\t&lt;div class=\"sps_news_l\"&gt;\n"; echo "\t\t\t&lt;img alt=\"\" src=\"http://".$_SERVER['HTTP_HOST']."/content/images/news/_thumb/".$ROWnews-&gt;newsImageThumb."\" /&gt;\n"; echo "\t\t&lt;/div&gt;"; echo "\t\t&lt;div class=\"sps_news_r\"&gt;\n"; //transliterate title if ($lang_id==2) { $newsTitle = wbTranslit($ROWnews-&gt;newsTitle); } else { $newsTitle = $ROWnews-&gt;newsTitle; } echo "\t\t\t&lt;div class=\"sps_news_title\"&gt;\n\t\t\t\t&lt;a title=\"".$newsTitle."\" href=\"http://".$_SERVER['HTTP_HOST']."/".$lang_link."/".$newsCat_link."/".$ROWnews-&gt;newsId."/full/\"&gt;".$newsTitle."&lt;/a&gt;\n\t\t\t&lt;/div&gt;\n"; echo "\t\t\t&lt;div class=\"sps_news_date\"&gt;\n\t\t\t\t".$ROWnews-&gt;newsDate."\n\t\t\t&lt;/div&gt;\n"; echo "\t\t\t&lt;div class=\"sps_news_text_sh\"&gt;\n\t\t\t\t".$newsShortTxt."\n\t\t\t&lt;/div&gt;\n"; echo "\t\t&lt;/div&gt;"; echo "\t\t&lt;/div&gt;"; //show &lt;hr /&gt; based on $count if($totalnews != $count) { echo "\t\t\t&lt;hr /&gt;\n"; } $count++; } } //pagination check if($totalPages&gt;$perPage) { ?&gt; &lt;hr /&gt; &lt;div class="sps_pagginate"&gt; &lt;?PHP wbPageTurnFront($PHP_SELF."/".$lang_link."/archive/", $totalPages, $page, $perPage); ?&gt; &lt;/div&gt; &lt;?php } } ?&gt; </code></pre> <p>Any ideas? Tnx :)</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload