Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.14;
Скачать: CL | DM;

Вниз

Вопрос по Перлу   Найти похожие ветки 

 
Димон   (2001-11-17 20:58) [0]

Привет, люди!
Помогите создать (ошень нужно) следующий скрипт. Человек в форме вводит определенное слово, например, test нажимает на кнопку и грузит скрипт. Скрипт проверят есть ли файл test.txt(это к примеру) в папке /cgi-bin/tp/. Есть ли есть,
то грузиться странца start.htm, если нет, то страница er.htm.
Заранее благодарен.


 
anod ©   (2001-11-17 21:14) [1]

Удалено модератором


 
модератор ©   (2001-11-18 18:09) [2]

не по сабжу
для таких вопросов http://perl.mastak.com/


 
Suntechnic ©   (2001-11-18 23:44) [3]

Не модератор, а прямо зверь :).... это ж надо вопрос в форуме "Потрепаться" "не по сабжу" обозвать :)... ИХМО тут всё не по сабжу в таком случае...


 
anod ©   (2001-11-18 23:52) [4]

:)
Хоть кто-то заступился


 
Merlin ©   (2001-11-19 14:41) [5]


#!/usr/bin/perl

# <FORM METHOD=POST ACTION="">
# <INPUT TYPE="text" NAME="test"> <INPUT TYPE="submit" value="»»">
# </FORM>

my $OKPage = "starthtm";
my $ErrorPage = "er.htm";
my $TestDir = "tp";

my $go = $ErrorPage;
request();

if (($FORM{test})and(-e "$TestDir/$FORM{test}.txt")) { $go = $OKPage; }
print "Location: $go\n\n";
exit;

#====================================================
# Form request
#====================================================
sub request
{ my(@pairs, $buffer, $pair);
%FORM = ();
if ($ENV{"REQUEST_METHOD"} eq "POST") {
# Get the input
read(STDIN, $buffer, $ENV{"CONTENT_LENGTH"});
# Split the name-value pairs
@pairs = split(/&/, $buffer);
}
elsif ($ENV{"REQUEST_METHOD"} eq "GET") {
# Split the name-value pairs
@pairs = split(/&/, $ENV{"QUERY_STRING"});
}
else { return; }
foreach $pair (@pairs) {
my($name, $value) = split(/=/, $pair, 2);
$value =~ tr/+/ /;
$value =~ s/%(\w\w)/pack("C", hex($1))/eg;
$value =~ s/\r//g;
$FORM{$name} = $value;
}
}




 
Donal ©   (2001-11-19 14:59) [6]

что-то это сложно как-то :-)) к примеру, скрипт на PHP :-) :

if file_exists ($dir."/".$fn.".txt")
header ("Location: start.html");
else
header ("Location: er.html");

--
так что, думаю и на Перле это можно полегче сделать :-)


 
Merlin ©   (2001-11-19 15:28) [7]

> Donal
А $fn откуда берется?
На Перле тоже можно все в три строчки вписать, но я не люблю использовать CGI.pm Это мое субъективное мнение.


 
evgeg ©   (2001-11-19 15:29) [8]

Еще одно сообщение не по сабжу?

> Merlin
А куда форум на perl.mastak.ru делся? Уже давно.


 
Merlin ©   (2001-11-19 15:37) [9]

не знаю. Я туда не захожу.


 
Kornet ©   (2001-11-19 15:41) [10]

php автоматически парсит переменные, т.е. например:
<input type=text name=fn> в php будет видна под переменной $fn


 
Merlin ©   (2001-11-19 15:42) [11]

Чудно. Я не знаю PHP можно маленький легбез? :)
А если я в программе объявляю переменную $fn, она заменит то что пришло с формы?


 
Kornet ©   (2001-11-19 15:44) [12]

ага


 
Kornet ©   (2001-11-19 15:46) [13]

а что? :)


 
Donal ©   (2001-11-19 15:47) [14]

2 Merlin : а fn берётся из формы или из командной строки
т.е. пусть мы назвали скрипт, который я привёл, redirect.php, тогда вызвать его можно двумя способами :
а. http://my.domain.ru/path/redirect.php?fn=test
b. FORM ACTION="redirect.php" METHOD="POST" (или GET - неважно)
INPUT TYPE="TEXT" NAME="fn"
INPUT TYPE="SUBMIT" VALUE="»»"

а насчёт cgi.pm - согласен. я пользовался...и возникали проблемы :-(


 
Kornet ©   (2001-11-19 15:49) [15]

2Donald - а) это частный случай b) :)
т.е.
FORM ACTION="redirect.php" METHOD="GET"
INPUT TYPE="TEXT" NAME="fn"
и будет а)


 
Kornet ©   (2001-11-19 15:50) [16]

2Donal: Извини, меня в этот момент отвлекли. :)


 
Donal ©   (2001-11-19 15:57) [17]

хе..согласен :-)) разница только в том, как получена командная строка - из формы или набором от руки :-))


 
Kornet ©   (2001-11-19 16:00) [18]

.. но для redirect.php это в принице по барабану. :))) Блин, что то пошёл разговор не по теме... :)


 
Donal ©   (2001-11-19 16:04) [19]

почему же :-) вполне по теме - обсуждаем, как передаётся переменная в скрипт :-))



Страницы: 1 вся ветка

Текущий архив: 2002.01.14;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.008 c
1-42419
cahek2000
2001-12-23 17:29
2002.01.14
TRxDBGrid


1-42452
michael
2001-12-23 14:43
2002.01.14
ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


3-42369
Softmaster
2001-12-11 20:14
2002.01.14
Проблема с группировкой в отчете при использовании QReport


6-42539
Landgraph
2001-10-16 12:38
2002.01.14
CGI Execute


1-42502
SemFLY
2001-12-26 03:24
2002.01.14
Как прочитать определённый символ из Edit ?