Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
передача параметров в строке |

10.06.2005, 22:51
|
|
Познающий
Регистрация: 09.01.2005
Сообщений: 44
Провел на форуме: 38038
Репутация:
1
|
|
передача параметров в строке
такая вот проблема: есть участок строки
Код HTML:
"...action=<?$_SERVER['SCRIPT_NAME']?>..."
после нажатия на сабмит перегружается скрипт. загружать скрипт без параметров нет смысла. задача стоит в том чтобы при нажатии на сабмит в action передавалось имя скрипта и передовались жизненно важные параметры. как это можно сделать ?
|
|
|

10.06.2005, 23:19
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
Ты кое-что упустил... Вот так у тебя должно быть:
Код:
"...action=<?=$_SERVER['SCRIPT_NAME']?>..."
|
|
|

10.06.2005, 23:38
|
|
Познающий
Регистрация: 09.01.2005
Сообщений: 44
Провел на форуме: 38038
Репутация:
1
|
|
так и есть просто напечатал не верно. идея такая: параметры передаются в скрипт из другого скрипта методом get ссылкой например script.php?t=1, но в этом скрипте(script.php) есть кнопка сабмит, которая его перезагружает, т.е. этот скрипт запускается но уже без переданного до этого в ссылке параметра $t=1 а следовательно дальнейшее выполнение не возможно тк теряется этот параметр $t. так вот, как можно сделать так чтобы после нажатия на сабмит при самоперезагрузки в скрипт передавался этот очень нужный параметр, а вернее сказать чтобы не терялся ?
Последний раз редактировалось j0y; 10.06.2005 в 23:40..
|
|
|

11.06.2005, 12:24
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
В форму вставить следующий код
<input type=hidden name=t value='<?echo$t;?>' style='display:none;'>
вроде так.
[offtop]
Всем привет, кого давно не видел
[/offtop]
|
|
|

11.06.2005, 13:16
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
Сообщение от Trinux
В форму вставить следующий код
<input type=hidden name=t value='<?echo$t;?>' style='display:none;'>
вроде так.
А нет  хидден параметры лучше не делать их любят изменять не добросовестные пользователи =)
А вопще попробуй добовлять этот параметр в форму что-то типа:
Код:
echo "<form name=\"\" method=\"get\" action=\"http://localhost/script.php?t=$t\">
Пробни...Только проверяй переменную $t.
|
|
|

11.06.2005, 13:55
|
|
Познающий
Регистрация: 09.01.2005
Сообщений: 44
Провел на форуме: 38038
Репутация:
1
|
|
пробовал уже так. не работает. после нажатия на кнопку скрипт перегружается, а переменная остаётся пустой строкой. может сделать так чтобы при вызове этого скрипта переменная сохранялась во временный файл, а затем после нажатия на сабмит считывалась из файла и файл удалялся.... хз надо попробовать но я думаю это не лучший вариант
зы: так а чем же так плохо поле хидден ?
|
|
|

11.06.2005, 17:15
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
зы Изменяют его вот чем.
Не, с файлом будет гимор...
Лучше уж тогда или куки(херово) или через сессии...
|
|
|

11.06.2005, 19:08
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
Ну и че? Так же могут изменить параметр в адресной строке, и его, между прочим, изменяют горазлдо чаще =) Это бред. Вставляй хидден и не парься, ибо тебе от этого не уйти. Как бы ты не передавал переменную t, ее все равно можно будет изменить, нужно просто задать ее рамки и все. А через куку или сессию... ну ну. Вперед Сусанин!
|
|
|

11.06.2005, 19:15
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
Незнаю,я привык считать хидден плохим тоном.
Ну например я в скриптах передаю важные параметры через сессии...Ну например имя полььзователя..
|
|
|

11.06.2005, 19:28
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
Ок, показываю конкретный пример, есть скрипт
http://www.ru/script.php
на него передается переменная $t со значением '1', в коде скрипта иммется форма, по сабмиту которой нужно чтобы переменная $t не утерялась. Если вы умудритесь запихать ее в строку при сабмите, то получится что-то типа
http://www.ru/script.php?t=1
что тебе мешает изменить ее тут? Или даже при обращении, когда форма генерится первый раз? Ответ - ничего!
Далее. В самое начало скрипта порписываем
if(!is_numeric($t)){$t='1';}
теперь переменная $t может быть только числом и так далее, дорабатывать правила можно долго. Это спор не о чем. Если ты невежа в данном вопросе - пормолчи. Если ты считаешь что переменную в hidden можно изменить... Ну да, плохому танцору яйца мешают. Изменить можно любую передаваемую переменную. Плохой тон? Иди скажи это google.com, yahoo.com, yandex.ru, rambler.ru и так далее.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|