if (параметры заданы и верны) {
выводить textarea;
} else { # то есть параметры не заданы или заданы но не верны
выводить форму логина;
if (параметры заданы, но не верны) {
еще в добавок мессагу о том, что ввели чушь;
}
}
Как выводить?
Подскажите, есть CGI программа, в которой форма ввода логина и пароля,потом идёт сверка данных, если всё хорошо то выводится ниже textarea, а ввод логина и пароля так и остаются ввержу. Как лучше сделать так что бы выводилось только нужное а старое убиралось?
Ну на PHP это конструкцией if ... else легко делается. В CGI наверное, что-то подобное есть (как и во всех, наверное, языках) :)
Цитата: Fobos
Ну на PHP это конструкцией if ... else легко делается. В CGI наверное, что-то подобное есть (как и во всех, наверное, языках) :)
у меня так и идёт
if данные введённые для авторизации верны {
выводить textarea
}
но данные для ввода логина и пароля остаются выше
как самый хитрый шпрот решил всё это заюзать инклудами ...
эн нет брат...
не знаю как это cgi но на пыхе например я бы сделал через
header("Location: http://someserver/somescript/");
Цитата: Valiant
ты наверное
как самый хитрый шпрот решил всё это заюзать инклудами ...
эн нет брат...
не знаю как это cgi но на пыхе например я бы сделал через
header("Location: http://someserver/somescript/");
как самый хитрый шпрот решил всё это заюзать инклудами ...
эн нет брат...
не знаю как это cgi но на пыхе например я бы сделал через
header("Location: http://someserver/somescript/");
этот тот самый хедер в котором кукисы передаются и кодировка например?
если то его можно использовать в одном файле несколько раз как в моём случае?
да хоть 100 раз пофик
Код:
print
header(-charset => 'windows-1251', -cookie => [$cookie1,$cookie2]),
start_html('Control Panel'),
start_form,
textfield (-name=>'name', size=>15),":Name",p,
password_field (-name=>'password', size=>15),":Password",p,
submit (-name=>'Send'),p,
end_form,
end_html;
my $getcookie1 = cookie('name');
my $getcookie2 = cookie('password');
if ($getcookie1 eq $name) {
open (FILE, "+<./news.dat") or die "cannot open file news.dat";
my @file = <FILE>;
print
header(-charset => 'windows-1251'),
start_html,
start_form,
textarea(-name=>'data',-default=>"@file",-rows=>20, -columns=>70),p,
submit(-name=>'Save'),
end_form,
end_html;
header(-charset => 'windows-1251', -cookie => [$cookie1,$cookie2]),
start_html('Control Panel'),
start_form,
textfield (-name=>'name', size=>15),":Name",p,
password_field (-name=>'password', size=>15),":Password",p,
submit (-name=>'Send'),p,
end_form,
end_html;
my $getcookie1 = cookie('name');
my $getcookie2 = cookie('password');
if ($getcookie1 eq $name) {
open (FILE, "+<./news.dat") or die "cannot open file news.dat";
my @file = <FILE>;
header(-charset => 'windows-1251'),
start_html,
start_form,
textarea(-name=>'data',-default=>"@file",-rows=>20, -columns=>70),p,
submit(-name=>'Save'),
end_form,
end_html;
если как показано добавить второй header то выводится на его месте:
Content-Type: text/html; charset=windows-1251
Код:
вот и всё.
Цитата: Тень Пса
Код:
if (параметры заданы и верны) {
выводить textarea;
} else { # то есть параметры не заданы или заданы но не верны
выводить форму логина;
if (параметры заданы, но не верны) {
еще в добавок мессагу о том, что ввели чушь;
}
}
выводить textarea;
} else { # то есть параметры не заданы или заданы но не верны
выводить форму логина;
if (параметры заданы, но не верны) {
еще в добавок мессагу о том, что ввели чушь;
}
}
вот и всё.
а у меня разве в вышеприведённом примере не так, если убрать второй header?
нет, у тебя первая часть всё время выводится будет.
Цитата: Тень Пса
нет, у тебя первая часть всё время выводится будет.
дык у меня if ($getcookie1 eq $name) { говорит о том что если параметры заданы верно
и дальше идёт вывод textarea
или я всё-равно чего-то не догоняю?
разобрался, спасибо