Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > можно ли как-то на стороне сервера обнулять (или и


Автор: marcus7 8.9.2009, 01:28
Всем привет!

У меня следующий вопрос:
 можно ли как-то на стороне сервера обнулять (или изменять) значение post-переменной ?

например, у меня есть html-форма:

Код

        <form name="my_form" action="elaborate_form.pl" method="POST">
                <input type="text" name="one" value="11111111111111" />
                <input type="text" name="two" value="22222222222222" />
                <input type="submit" name="OK" value="OK">
        </form>


и есть "elaborate_form.pl" скрипт, который обрабатывает эту форму:
 
Код

use CGI qw/escape -debug/;
use CGI::Carp qw (fatalsToBrowser);

my $q = new CGI;

if (defined $q->param('one')) {
    print $q->param('one');
}



Есть ли какой-то способ обнулить или изменить значение post-переменной $q->param('one') ?

Собственно такие варианты не работают:

Код

delete $q->param('one');
$q->param('one') = undef;
$q->param('one') = '3333333';



Спасибо )

Автор: DEER 8.9.2009, 09:42
из perldoc
Цитата

SETTING THE VALUE(S) OF A NAMED PARAMETER:

    $query->param('foo','an','array','of','values');

This sets the value for the named parameter 'foo' to an array of values. This is one way to change the value of a field AFTER the script has been invoked once before. (Another way is with the -override parameter accepted by all methods that generate form elements.)

param() also recognizes a named parameter style of calling described in more detail later:

    $query->param(-name=>'foo',-values=>['an','array','of','values']);

                              -or-

    $query->param(-name=>'foo',-value=>'the value');

Автор: marcus7 11.9.2009, 02:24
DEER, thank you !
как раз то, что мне надо )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)