|
|
|
| Здравствуйте! У меня такой вопрос: с одной и тойже страницы передаю и получаю значение от $var = $_GET['var'] и сохраняю ее в переменную сессии $_SESSION['var_1'] = $var_1 , $var выводится, на той же странице выполняю передачу и прием другой переменной $_GET['var_2'], и при этом переменная сессии $var_1 изчезает, подскажите что можно предпринять? | |
|
|
|
|
|
|
|
для: sullus
(14.12.2007 в 23:31)
| | $var_1 это не переменная сессии.
переменная сессии - $_SESSION['var_1'] | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2007 в 23:32)
| | я имел ввиду $var_1 = $_SESSION['var_1'], вобщем даже если $_SESSION['var_1'] ничего не присваевать то после другой передаче переменной $_GET, сессия теряется | |
|
|
|
|
|
|
|
для: sullus
(14.12.2007 в 23:36)
| | надо смотреть код. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2007 в 23:41)
| | есть Index.php к которому прикреплено меню
<?
include"http://mysite.ru/body/menu.php";
<ul>
<li id="foldheader" class="n">Недвижимость</li>
<ul id="foldinglist">
<li><a href="http://2bulky.ru/index.php?kind=var_0"
class="n"><font size="2">Дом
</font></a></li>
<li><a href="http://2bulky.ru/index.php?kind=var_1"
class="n"><font size="2">Квартира</font></a></li>
<li><a href="http://2bulky.ru/index.php?kind=var_2" class="n"><font size="2">Офис</font></a></li>
<li><a href="http://2bulky.ru/index.php?kind=var_3"
class="n"><font size="2">Магазин</font></a></li>
<li><a href="http://2bulky.ru/index.php?kind=var_4"
class="n"><font size="2">Дача</font></a></li>
<li><a href="http://2bulky.ru/index.php?kind=var_5"
class="n"><font size="2">Гараж</font></a></li>
</ul>
?>
|
и ниже навигация, в зависимости от значений переменных навигации, из базы данных извлекаются те или иные строки
<?
$radio = $_GET['what_do'];
if($radio==0)
{
$action='buy';
}
if($radio==1)
{
$action='sell';
}
if($radio==2)
{
$action='return';
}
if($radio==3)
{
$action='take';
}
if($radio==4)
{
$action='exchange';
}
$var = $_GET['kind']
$_SESSION ['anyvareble'] = $var
echo$_SESSION ['anyvareble'];- //пропадает
//при нажати на другие ссылки навигации
$select = mysql_query("SELECT
* FROM realty, town, reg_user WHERE town.
id_town = realty.id_town AND realty.id_reg
= reg_user.id_reg AND realty.action =
'$action' AND realty.kind = 'house' ORDER
BY realty.id_realty DESC ;");
if (!$select)
{
echo(mysql_error());
}
else
{
?>
<table align="center" width="100%"
cellpadding="0" cellspacing="1" class="n1"
border="0">
<tr>
<td align="center" bgcolor=<?if
($radio==0){echo"#C1D1BE";}
else{echo"#CADBC7";}?> style="height: 2em">
<a href=http://2bulky.ru/index.php?what_do=0
style="color:#6699CC; cursor:hand"
onMouseOver="this.style.color='silver'"
onMouseOut="this.style.color='#6699CC'"
align="center" class='n1'>
<font size='2'>
Продать
</font>
</a>
</td>
<td align="center" bgcolor=<?if ($radio==1)
{echo"#C1D1BE";}else{echo"#CADBC7";}?>>
<a href=http://2bulky.ru/index.php?what_do=1
style="color:#6699CC; cursor:hand"
onMouseOver="this.style.color='silver'"
onMouseOut="this.style.color='#6699CC'"
align="center" class='n1'>
<font size='2'>
Купить
</font>
</a>
</td>
<td align="center" bgcolor=<?if
($radio==2){echo"#C1D1BE";}
else{echo"#CADBC7";}?>>
<a href=http://2bulky.ru/index.php?what_do=2
style="color:#6699CC; cursor:hand"
onMouseOver="this.style.color='silver'"
onMouseOut="this.style.color='#6699CC'"
align="center" class='n1'>
<font size='2'>
Сдать
</font>
</a>
</td>
<td align="center" bgcolor=<?if
($radio==3){echo"#C1D1BE";}
else{echo"#CADBC7";}?>>
<a href=http://2bulky.ru/index.php?what_do=3
style="color:#6699CC; cursor:hand"
onMouseOver="this.style.color='silver'"
onMouseOut="this.style.color='#6699CC'"
align="center" class='n1'>
<font size='2'>
Снять
</font>
</a>
</td>
<td align="center" bgcolor=<?if
($radio==4){echo"#C1D1BE";}
else{echo"#CADBC7";}?>>
<a href=http://2bulky.ru/index.php?what_do=4
style="color:#6699CC; cursor:hand"
onMouseOver="this.style.color='silver'"
onMouseOut="this.style.color='#6699CC'"
align="center" class='n1'>
<font size='2'>
Обмен
</font>
</a>
</td>
</tr>
<? while ($table = mysql_fetch_array($select))
{
print'
<tr>
<td colspan="1" bgcolor="silver" align="center"
style="height: 2em" class="b1">
Автор
</td>
<td colspan="1"
bgcolor="silver" align="center"
style="height: 2em" class="b1">
'.wordwrap( $table['login'], 12, "\n", 1).'
</td>
<td colspan="1"
bgcolor="silver" align="center"
style="height: 2em" class="b1">
Дата:
</td>
<td colspan="2"
bgcolor="silver" align="center"
style="height: 2em" class="b1">
'.wordwrap( $table['ndate'], 12, "\n", 1).'
</td>
</tr>
<tr>
<td colspan="1"
bgcolor="#D9D9D9" align="center"
style="height: 3em" class="b1">
Объявление № '.wordwrap( $table['id_realty'], 12, "\n", 1).'
</td>
<td colspan="4"
bgcolor="#CADBC7" align="center"
style="height: 3em" class="b1">
'.wordwrap( $table['info'], 12, "\n", 1).'
</td>
</tr>
<tr>
<td colspan="3"
bgcolor="#D9D9D9" align="center"
style="height: 3em" class="b1">
Стоимость: '.wordwrap( $table['cost'], 50, "\n", 1 ).'тыс. рублей
</td>
<td colspan="2"
bgcolor="#CADBC7" align="center"
style="height: 3em" class= "b1">
Звони: '.wordwrap( $table['phone'], 50, "\n", 1 ).'
</td>
</tr>';
}
}
|
может я порядок перепутал? | |
|
|
|
|
|
|
|
для: sullus
(14.12.2007 в 23:53)
| | в приведенном фрагменте полно несущественного кода, и нет ни слова ни про передаваемые по ссылке параметры $_GET['kind'] ни про сессию ($_SESSION)
И код приведен так, что форум после этого невозможно читать. Всё вправо уезжает | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2007 в 23:56)
| | Я чуть чуть исправил код, правда с местом не подрасчитал, виноват. Скажите впринципе это же реально передать переменную $_GET в $_SESSION? И по какой причине эта переменная может исчезать? | |
|
|
|
|
|
|
|
для: sullus
(15.12.2007 в 00:05)
| | включите вывод ошибок.
У Вас тут синтаксический бред
$var = $_GET['kind']
$_SESSION ['anyvareble'] = $var | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2007 в 00:08)
| | Хорошо, так мне эту переменную надо запомнить, я ее и заношу в
. | |
|
|
|
|
|
|
|
для: sullus
(15.12.2007 в 00:14)
| | не заносите. | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2007 в 00:19)
| | Пробую как вы советуете, не заношу, пишет:
Notice: Undefined index: kind in .... | |
|
|
|
|
|
|
|
для: sullus
(15.12.2007 в 00:26)
| | Нет такого, вот и говорит. У вас $var = $_GET['kind'] прописывается без всякой проверки получили ли вы $_GET['kind'] или нет, а если нет, то вас и предепреждают "Неопределенный индекс...". А зачем он вообще на этой странице, если не видно его дальнейшего использования? Или я не заметил - у вас HTML код перегружен встроенными стилями, вынесите их в подключаемую таблицу стилей. | |
|
|
|
|
|
|
|
для: sim5
(15.12.2007 в 07:15)
| | я в дальнейшем его собираюсь использовать в MySQL запросе, для сортировки таблицы
$select = mysql_query("SELECT * FROM realty, town, reg_user WHERE
realty.action = '$action' AND realty.kind = $var ");
|
а для себя для проверки, я просто выводил его на экран, поэтому в предыдущем примере не указал где он будет использоваться. | |
|
|
|
|
|
|
|
для: sullus
(14.12.2007 в 23:31)
| |
<?
session_start();
$SESSION['array'] = $_GET;
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(15.12.2007 в 12:41)
| | так и сделал, первый раз при пересылки работает, а когда нажимаю на другую ссылку использующею тот же $_GET но от другой с другой переменной, то что было в сессии исчезает, наверно, наверно значение $_GET , переданное сначала становится пустым, и в сессию записывается " пусто ". | |
|
|
|
|
|
|
|
для: sullus
(15.12.2007 в 13:03)
| | все получилось, прав был Trainon, нужно делать проверку на то установлена переменная или нет, если нет то незаписывать ее в сессию
if(isset($_GET['kind']))
{
$_SESSION['vareble']= $_GET['kind'];
echo $_SESSION['vareble'];
}
else
{
echo("$_GET[kind] неустановлен");
echo $_SESSION['vareble'];
}
|
| |
|
|
|