Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / не сохраняется значение переменной из $_POST в $_SESSION / 18 сообщений из 18, страница 1 из 1
05.09.2012, 09:25:10
    #37943879
roma126
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняется значение переменной из $_POST в $_SESSION
Доброго времени суток, помогите, пожалуйста, при постраничном переходе теряется значение переменной $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
05.09.2012, 10:23:16
    #37943992
artas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняется значение переменной из $_POST в $_SESSION
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
05.09.2012, 12:27:28
    #37944357
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняется значение переменной из $_POST в $_SESSION
Код: php
1.
2.
$_SESSION['my_list'] = $_POST['my_list'];
$my_list = isset($_SESSION['my_list']) ? $_SESSION['my_list'] : $_POST['my_list'];


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

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


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

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

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

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

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

что за круговая порука?)
плачу горькими слезами ))))
...
Рейтинг: 0 / 0
05.09.2012, 23:26:22
    #37945668
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняется значение переменной из $_POST в $_SESSION
Модератор: roma126 , не забываем использовать тег SRC для оформления фрагментов кода.
Километр неформатированной лапши читать весьма проблемно.
Лишнее постить сюда совсем не обязательно.
--
vkle
...
Рейтинг: 0 / 0
06.09.2012, 08:46:19
    #37945889
roma126
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняется значение переменной из $_POST в $_SESSION
Очень благодарен всем за участие, результат пока такой: в переменной сессии все нормально сохраняется, но почему то перестал работать постраничный вывод, т.е. переменная $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
06.09.2012, 08:49:32
    #37945894
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняется значение переменной из $_POST в $_SESSION
А чему она должна быть равна если вы ее берете из $_POST

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



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


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