[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача данных
snp_mbr
Всем, привет.

Подскажите, пожалуйста, как правильно передавать данные которые пользователь не должен видеть?

function sales(){
$sql=mysql_query("SELECT * FROM `salesheader` WHERE `id`='$_SESSION[user_id]'");
$top=file_get_contents('html/table_top.tpl');
$foot=file_get_contents('html/table_foot.tpl');
print($top);
for ($x=0;$x<mysql_num_rows($sql); $x++){
$result = mysql_fetch_assoc($sql);
print("<tr><td>$result[pk]</td><td>$result[date]</td><td>$result[summ]</td><td>$result[stat]</td><td>КНОПКА</td></tr>");
}
print($foot);
}

Т.е. при нажатии на кнопку, скрипт должен передать "id" и "номер заказа"
из запроса $sql, но юзер не должен видеть ни в url или html данные которые передаются.

Заранее спасибо, за ответ. Мне просто нужно знать как правильно сделать, код писать не обязательно.





Спустя 1 час, 29 минут, 57 секунд (20.05.2011 - 19:46) quickxyan написал(а):
ну можно сессиями или отправкой формы методом POST.
можно еще через куки, но лучше не надо)

Спустя 1 час, 25 минут, 57 секунд (20.05.2011 - 21:12) snp_mbr написал(а):
т.е. использование сессии это самый рациональный вариант?

Спустя 33 минуты, 24 секунды (20.05.2011 - 21:45) Krevedko написал(а):
да. или пост. зависит от того, что вы намереваетесь делать.

Спустя 34 минуты, 45 секунд (20.05.2011 - 22:20) snp_mbr написал(а):
Подскажите, пожалуйста, как реализовать правильно пост?

Спустя 2 минуты, 30 секунд (20.05.2011 - 22:23) Winston написал(а):
Куда должны уходить твои данные? И где форма, если ты собираешься нажимать на кнопку ?

Спустя 1 час, 59 минут, 46 секунд (21.05.2011 - 00:22) Лена написал(а):
"id" и "номер заказа" надо обязательно записать в базу.
Отправляете форму методом POST и данные никто не увидит.

Сессия в данном случае - самый глупый вариант. Пользователь закроет страницу, произойдет какой-либо сбой в коннекте с сервером и т.д. и "id" и "номер заказа" уйдут в никуда.


Спустя 36 минут, 33 секунды (21.05.2011 - 00:59) Игорь_Vasinsky написал(а):
Krevedko
Цитата
да. или пост

а почему не GET? только header'ом средиректить.

Но меньше всего заморочекс POST wink.gif

Спустя 1 минута, 10 секунд (21.05.2011 - 01:00) inpost написал(а):
snp_mbr
Чтобы не имел доступ к данным - только сессия smile.gif

Спустя 49 секунд (21.05.2011 - 01:01) Krevedko написал(а):
Цитата (Лена @ 20.05.2011 - 21:22)
"id" и "номер заказа" надо обязательно записать в базу.
Отправляете форму методом POST и данные никто не увидит.

Сессия в данном случае  - самый глупый вариант. Пользователь закроет страницу, произойдет какой-либо сбой  в коннекте с сервером и т.д. и "id" и "номер заказа" уйдут в никуда.

как понять уйдут в никуда ?
а что, если произойдет сбой в коннекте или пользователь закроет страницу, то массив пост сохранится ? ерунду вот только ненадо писать.
если будете передавать методом пост, то обязательно делайте потом редирект, чтобы пользователь обновляя не задублировал записи. ну или можно проверку сделать на дубли

Спустя 1 час, 4 минуты, 45 секунд (21.05.2011 - 02:06) Greg1978 написал(а):
а как насчёт условия
Цитата
но юзер не должен видеть ни в url или html данные которые передаются.

если post: в html форме нужно записывать соответствующие данные что противоречит условию. Условие в полном сокрытии данных, если я правильно понял.

К автору а зачем такие сложности и условия безопасности, начать с этого хотя бы.

Спустя 6 часов, 56 минут, 40 секунд (21.05.2011 - 09:02) snp_mbr написал(а):
Сайт обменивается данными с помощью оборотного импорта.
Проблема csv файлов, которые отправляет программа учета.
Структура их такова, что нет возможности определить чей именно заказ без обращения к другой таблице mysql.
Проще всего сделать несколько запросов в базу и проверять каждый раз принадлежность к клиент=>заказ.
Я просто подумал не проще ли при авторизации делать один раз запрос в базу и записать основные данные в сессию. т.е. id, имя, заказы.

Очень не хочется каждый раз обращаться за данными к базе и сравнивать их на соответствие друг к другу.

А если не делать проверок, то любой заказ можно посмотреть подставив данные в url или html.

Короче как-то так если я не прав, подскажите как правильно сделать.

Спустя 1 час, 33 минуты, 39 секунд (21.05.2011 - 10:36) quickxyan написал(а):
snp_mbr возможно я не совсем понял, но думаю, что правильно будет так как ты сказал.

При авторизации пишем основные данные в сессии, а потом узнаем принадлежности именно этому юзеру по его уникальному полю например id

Спустя 26 минут, 13 секунд (21.05.2011 - 11:02) snp_mbr написал(а):
Спасибо всем, тему можно закрывать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.