|
|
|
|
|
для: alik
(22.11.2004 в 23:45)
| | Глюк возможен, если не выставлено время жизни сессии, если будут исчерпаны дискрипторы, но во-первых это очень сложно, во-вторых админ об этом будет знать раньше вас, в третьих на коммерческих и бесплатных хостингах отсутсвие директивы для времени жизни крайне маловероятно... | |
|
|
|
|
автор: alik (22.11.2004 в 23:45) |
|
|
для: cheops
(22.11.2004 в 09:38)
| | А глюков не будет(с сессиями), если не закрывать !?!?! | |
|
|
|
|
|
|
|
для: alik
(22.11.2004 в 02:26)
| | В вашем случае трудно определить момент когда следует уничтожать сессию, поэтому её можно оставить, через некоторое время сессия будет уничтожена автоматически. Подробности по ссылке.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=773 | |
|
|
|
|
автор: alik (22.11.2004 в 02:26) |
|
|
для: Akira
(21.11.2004 в 19:46)
| | Спасибо заработало. Но остался вопрос: "Когда нужно закрывать сессии? Или они через время закрываются? Или их вообще ненадо закрывать?" | |
|
|
|
|
|
|
|
для: cheops
(21.11.2004 в 18:24)
| | Поправляем =)
<?php
session_start();
$phrase=$_POST['search'];
if(!empty($phrase))
{
$_SESSION['phrase'] = $phrase;
}
else
{
$phrase = $_SESSION['phrase'];
}
include "connect.php";
include "top.php";
?>
|
| |
|
|
|
|
|
|
|
для: alik
(21.11.2004 в 16:37)
| | Можно засовать поисковое слово в сессии: для этого в файле формы и обработчика поместить инициализацию
<?php
session_start();
?>
|
В обработчике поместить ключевое слово в сессию:
<?php
session_start();
$phrase=$_POST['search'];
if(!empth($phrase))
{
$_SESSION['phrase'] = $phrase;
}
else
{
$phrase = $_SESSION['phrase'];
}
include "connect.php";
include "top.php";
?>
|
| |
|
|
|
|
автор: alik (21.11.2004 в 16:37) |
|
| Помогите пожалуйста!!! Проблема в передаче значения.
Я делаю поиск по определенному полю. Находит и вытягивает похожие слова и базы.
Но если похожих слов много делаю ограничение: на 1 страницу 7 записей, и соответственно вывожу ссылки на другие странице.
Проблема в том, что при нажатии на другую страницу теряется поисковое слово и выводятся все ссылки.
Я так понял что ошибка в использовании метода $_POST, но как решить проблему я незнаю.
Файл top.php
<form enctype='multipart/form-data' action=search.php method=post>
<input type=hidden name=action value=post>
<input type=text maxLength=256 name=search size=40 value='<? echo $search; ?>'>
<input type=submit class=find value="Найти!">
<input type=hidden name=id_name value=<? echo $_GET['id_name']; ?>>
</form>
|
Файл search.php
<?
include "connect.php";
include "top.php";
$phrase=$_POST['search'];
$pnumber = 7;
if($page == "") $page=1;
$begin = ($page - 1)*$pnumber;
$find = mysql_query("SELECT * FROM firma WHERE name LIKE '%$phrase%' order by id_name desc limit $begin, $pnumber;");
$tot = mysql_query("SELECT count(*) from firma WHERE name LIKE '%$phrase%';");
if(mysql_num_rows($find)>0)
{
if($find && $tot)
{
$total = mysql_fetch_array($tot);
$number = (int)($total['count(*)']/$pnumber);
if((float)($total['count(*)']/$pnumber)-$number != 0) $number++;
for($i = 1; $i<=$number; $i++)
{
if($number == $i)
{
if($page == $i) echo "[".(($i - 1)*$pnumber + 1)."-".$total['count(*)']."]";
else echo "<a href=search.php?page=".$i.">[".(($i - 1)*$pnumber + 1)."-".$total['count(*)']."]</a>";
}
else
{
if($page == $i) echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]";
else echo "<a href=search.php?page=".$i.">[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a>";
}
}
while ($query=mysql_fetch_array($find))
{
//показую найденое
}
}
}
else echo "к сожалению ничего не найдено по <b>$phrase</b>";
include "bottom.php";
?>
|
| |
|
|
|
|