powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / не сохраняется значение переменной из $_POST в $_SESSION
18 сообщений из 18, страница 1 из 1
не сохраняется значение переменной из $_POST в $_SESSION
    #37943879
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток, помогите, пожалуйста, при постраничном переходе теряется значение переменной $my_list, вижу что ошибаюсь здесь
$my_list = isset($_SESSION['my_list']) ? $_SESSION['my_list'] : $_POST['my_list'];
но исправить пока не получается, вот код. Заранее спасибо!

<?
setcookie;
session_start();
$_SESSION['my_list'] = $_POST['my_list'];
$my_list = isset($_SESSION['my_list']) ? $_SESSION['my_list'] : $_POST['my_list'];
print_r($_SESSION);
?>
<html>
<head>
<body bgcolor="ivory" onfocus="document.bgColor='ivory'" onblur="document.bgcolor='gray'">
<?php
include "lib.php";
$dbConn=connectToBase();
$tableName="tblotgul";
print mainButton();
if (isset($_SESSION['my_list']))

{
$num = 2;
@$page =$_POST['page'];
/* Общее число сообщений на странице */
$result = mysql_query("SELECT COUNT(*) FROM $tableName where fio='$my_list'",$dbConn);
$posts = mysql_fetch_row($result);
//находим общ число страниц
$total1=array_sum($posts);
$total=intval(($total1-1)/$num)+1;
$page=intval($page);
if (empty($page) or $page<0) $page=1;
if ($page > $total) $page = $total;
//вычисляем с какого номера следует выводить сообщения
$start = $page * $num - $num;
var_dump($my_list);
$result=mysql_query("SELECT * FROM $tableName where fio='$my_list'ORDER BY puttime LIMIT $start, $num");

$output .= "<table border = 5>";
//получить название столбцов
//получить название полей
$output .= "<tr align=center>
<td>№ п/п</td>
<td>Дата</td>
<td>ФИО</td>
<td>Дата ввода</td>\n";
$output .= "</tr>\n\n";


//получить название индексного поля, полагая что оно яв-ся первым
$keyField = mysql_fetch_field($result, 0);
$keyName = $keyField->name;
//добавить пустой столбец для добавления,редактирования и удаления
$output .= "<th></th><th></th>\n";
$output .= "</tr>\n\n";
//получить данные строк в виде ассоциативного массива
while ($row = mysql_fetch_assoc($result)){
$output .= "<tr>\n";
//просмотреть все поля
foreach ($row as $col=>$val){
$output .= " <td>$val</td>\n";
}
//создать масленькие формы для добавления, удал, редактирования
//delete = DELETE FROM <table> WHERE <key> = <keyval>
$keyVal = $row["$keyName"];
$output .= <<< HERE
<td>
<form action = "deleteRecord.php">
<input type = "hidden" name = "tableName" value = "$tableName">
<input type = "hidden" name = "keyName" value = "$keyName">
<input type = "hidden" name = "keyVal" value = "$keyVal">
<input type = "submit" value = "Удалить"></form>
</td>
HERE;

//обновление, но пока не обновл, настроим форму редактирования
$output .= <<< HERE
<td>
<form action = "editRecord.php" method = "post">
<input type = "hidden" name = "tableName" value = "$tableName">
<input type = "hidden" name = "keyName" value = "$keyName">
<input type = "hidden" name = "keyVal" value = "$keyVal">
<input type = "submit" value = "Правка"></form>
</td>
HERE;
$output .= "</tr>\n\n";
}


echo '<a href=?page='. ($page - 1) .'> <<Назад </a> ';
$i=1;
while ($i <= $total)
{
if ($i==$page)
{echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong> ';}
else
{echo '<a href=?page='.$i.'>'.$i.'</a> ';}
$i = $i+1;
}
echo ' <a href=?page='. ($page + 1) .'> Вперед>> </a>';
$output .= "</table>\n";

print $output;
}//end if
?>
</body>
</head>
</html>
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37943992
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma126, не разбирая ваших портянок, осмелюсь предположить что при перелистывании выполняеться
Код: php
1.
$_SESSION['my_list'] = $_POST['my_list'];


и скорее всего $_POST['my_list'] пустая. Что б не создавать форму, реккомендую вам данную переменную(если она не секретная) сохранить в куку либо же проверять

Код: php
1.
$_SESSION['my_list'] = (isset($_POST['my_list']) ? $_POST['my_list'] : $_SESSION['my_list']);
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944357
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
$_SESSION['my_list'] = $_POST['my_list'];
$my_list = isset($_SESSION['my_list']) ? $_SESSION['my_list'] : $_POST['my_list'];


Зачет
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944424
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artas, делаю так, но прихожу все к тому же результату, при обновлении страницы кук тоже теряет значение...

$my_list = $_POST['my_list'];
setcookie("my_list",$my_list);
echo ("$my_list");
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944480
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
$my_list = $_POST['my_list'];


Потому что в переменной пусто будет. Включите вывод ошибок и наблюдайте undefined index
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944519
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

может есть какой-то вариант как это просто сохранить, чтобы постоянно не запрашивать $_post при обновлении страницы, как то бы сохранить и пользоваться?
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944568
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
if(isset($_POST['my_list'])) 
    $my_list = $_POST['my_list'];
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944611
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

спасибо, вот только постраничный вывод показывает содержимое 1 страницы,почему то не обновляются данные
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944612
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
$my_list = isset($_POST['my_list']) ? $_POST['my_list'] : $_SESSION['my_list'];
$_SESSION['my_list'] = $my_list;
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944636
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,

что за круговая порука?)
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37944638
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,

так тоже самое получается страницы, например page=2, а содержимое остается как на 1 странице, кроме номера страницы содержимое не обновляется
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945424
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettРенат,

что за круговая порука?)
плачу горькими слезами ))))
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945668
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: roma126 , не забываем использовать тег SRC для оформления фрагментов кода.
Километр неформатированной лапши читать весьма проблемно.
Лишнее постить сюда совсем не обязательно.
--
vkle
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945889
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень благодарен всем за участие, результат пока такой: в переменной сессии все нормально сохраняется, но почему то перестал работать постраничный вывод, т.е. переменная $page =0, не могу пока понять как все это исправить. Код полностью:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
<?
$my_list = isset($_POST['my_list']) ? $_POST['my_list'] : $_SESSION['my_list'];
$_SESSION['my_list'] = $my_list;
print_r($my_list);
?>
<html>
<head>
<body bgcolor="ivory" onfocus="document.bgColor='ivory'" onblur="document.bgcolor='gray'">
<?php
include "lib.php";
$dbConn=connectToBase();
$tableName="tblotgul";
	print mainButton(); 
$num = 2;
@$page =$_POST['page'];
/* Общее число сообщений на странице */
$result = mysql_query("SELECT COUNT(*) FROM $tableName where fio='$my_list' ",$dbConn);
$posts = mysql_fetch_row($result);
//находим общ число страниц
$total1=array_sum($posts);
$total=intval(($total1-1)/$num)+1;
//опред начало сообщений для текущей страницы
$page=intval($page);
var_dump($page);
//Если значение $page меньше страницы или отрицательно
//переходим на 1 стр
//а если слишком болшое, то на последнюю
if (empty($page) or $page<0) $page=1;
    if ($page > $total) $page = $total;
//вычисляем с какого номера следует выводить сообщения
$start = $page * $num - $num;
$result=mysql_query("SELECT * FROM $tableName where fio='$my_list' ORDER BY puttime LIMIT $start, $num");    
    $output .= "<table border = 5>";
    //получить название столбцов
    //получить название полей
$output .= "<tr align=center>
                <td>№ п/п</td>
                <td>Дата отг.</td>
				<td>ФИО</td>
				<td>Кол-во отг.</td>
                <td>Использовано отг.</td>
                <td>Дата исп.</td>
				 <td>Дата ввода</td>\n";
$output .= "</tr>\n\n";

      //получить название индексного поля, полагая что оно яв-ся первым
    $keyField = mysql_fetch_field($result, 0);
    $keyName = $keyField->name;
    //добавить пустой столбец для добавления,редактирования и удаления
    $output .= "<th></th><th></th>\n";
    $output .= "</tr>\n\n";
    //получить данные строк в виде ассоциативного массива
    while ($row = mysql_fetch_assoc($result)){
        	$output .= "<tr>\n";
        //просмотреть все поля
        	foreach ($row as $col=>$val){
            	$output .= " <td>$val</td>\n";
        }
  //создать масленькие формы для добавления, удал, редактирования
  //delete = DELETE FROM <table> WHERE <key> = <keyval>
    $keyVal = $row["$keyName"];
    $output .= <<< HERE
  <td>
  <form action = "deleteRecord.php">
    <input type = "hidden" name = "tableName" value = "$tableName">
    <input type = "hidden" name = "keyName" value = "$keyName">
    <input type = "hidden" name = "keyVal" value = "$keyVal">
    <input type = "submit" value = "Удалить"></form>
  </td>
HERE;

//обновление, но пока не обновл,  настроим форму редактирования
  $output .= <<< HERE
  <td>
  <form action = "editRecord.php" method = "post">
    <input type = "hidden" name = "tableName" value = "$tableName">
    <input type = "hidden" name = "keyName" value = "$keyName">
    <input type = "hidden" name = "keyVal" value = "$keyVal">
    <input type = "submit" value = "Правка"></form>
  </td>
HERE;
  $output .= "</tr>\n\n";
}

echo '<a href=?page='. ($page - 1) .'> <<Назад </a>  ';
$i=1;
while ($i <= $total)
{
if ($i==$page)
{echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong> ';}
else
{echo '<a href=?page='.$i.'>'.$i.'</a> ';}
$i = $i+1;
}
echo '  <a href=?page='. ($page + 1) .'> Вперед>> </a>';  
$output .= "</table>\n";

print $output;
?>
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945894
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чему она должна быть равна если вы ее берете из $_POST

Код: php
1.
@$page =$_POST['page'];



а задаете в $_GET ?
вы читали хотя бы введние в PHP?
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945908
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибся...
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945919
roma126
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, заработало!
...
Рейтинг: 0 / 0
не сохраняется значение переменной из $_POST в $_SESSION
    #37945930
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь читайте что такое SQL-injection
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / не сохраняется значение переменной из $_POST в $_SESSION
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]