Автор Тема: Отправка данных  (Прочитано 5347 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Отправка данных
« : 10 Июня 2002, 08:40:56 »
Нужен простой cgi скрипт, который:
посылает данные формы в txt файл
txt файл примерно должен выглядить:

9:00. 10.06.02
name=dem
e-mail=perl@perl.ru


Где name и e-mail переменные
а составление формы должно быть простое на HTML странице http://ofp.dem.ru/cgi-bin/name.cgi"...>
the cold war is not over...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Отправка данных
« Ответ #1 : 10 Июня 2002, 10:50:28 »
perldoc CGI в части param
perldoc -f open
perldoc -f print
perldoc -f close
2B OR NOT 2B = FF

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Отправка данных
« Ответ #2 : 10 Июня 2002, 10:56:16 »
Цитировать
perldoc -f open
perldoc -f print
perldoc -f close


и это весь cgi скрипт что ли?

Я в этом не шарю мне по подробней надо, весь текст.
#!/usr/bin/perl  и т.д.
the cold war is not over...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Отправка данных
« Ответ #3 : 10 Июня 2002, 11:02:02 »
Цитировать
и это весь cgi скрипт что ли?

Нет, это предложение почитать документацию. :)) Там все подробно, обстоятельно.:))
2B OR NOT 2B = FF

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Отправка данных
« Ответ #4 : 10 Июня 2002, 12:23:16 »
Вот примерчик:


#!/usr/bin/perl 

use CGI qw(:standard); 
use 
CGI::Carp qw(fatalsToBrowser); 

$ip $ENV{\'REMOTE_ADDR\'}; 
$q=$ENV{\'QUERY_STRING\'}; 
if(!$q){ 
print "Content-Type: text/html\\n\\n"; 

print qq# 
<html> 
<head> 
<title>Оставьте свои координаты</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 

<body bgcolor="#FFFFFF"> 
<form method="post" action="send.cgi"> 
<table width="100%" border="0"> 
<tr> 
<td>Имя:</td> 
<td> 
<input type="text" name="name"> 
</td> 
</tr> 
<tr> 
<td>Мыло:</td> 
<td> 
<input type="text" name="email"> 
</td> 
</tr> 
<tr> 
<td>Аська:</td> 
<td> 
<input type="text" name="icq"> 
</td> 
</tr> 
<tr> 
<td>УРЛ:</td> 
<td> 
<input type="text" name="url"> 
</td> 
</tr> 
</table> 
<p>Ваш IP: $ip </p> 
<p> 
<input type="submit" name="Submit" value="Отправить"> 
<input type="reset" name="Reset" value="Очистить"> 
</p> 
<p> 
<input type="hidden" name="hiddenip" value="$ip"> 
</p> 
</form> 
</body> 
</html> 


#; 


if(param()){&insert_data(1);} 

sub insert_data{ 

my $name=param(\'name\'); 
my $email=param(\'email\'); 
my $icq=param(\'icq\'); 
my $url=param(\'url\'); 

my $log_vars="|$name|$email|$icq|$ip|$url|"; 
open (LOG, ">>data.txt"); 
print LOG "$log_vars\\n"; 
close (LOG); 


print "<h2>Вы ввели следующие данные:
 $log_vars</h2>"; 
};


Данные "вставляются" в data.txt
Что туда писать, надеюсь, сам подставишь...
The documentations is your friend

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Отправка данных
« Ответ #5 : 10 Июня 2002, 13:59:06 »
Цитировать

$q=$ENV{\'QUERY_STRING\'}; 

if(!$q){ 

If ненужен: $ENV{\'QUERY_STRING\'} всегда будет пустым поскольку в форме использован метод POST. А если попытаться передать этому скрипту что-либо методом GET, то он вообще развалиться c ошибкой Mailformed script header... поскольку print "Content-Type: text/html\\n\\n"; находиться внутри if, а if(param()) отработает.:)
2B OR NOT 2B = FF

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Отправка данных
« Ответ #6 : 10 Июня 2002, 17:59:45 »
Цитировать
If ненужен:

Правда ваша.. ;)
The documentations is your friend

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Отправка данных
« Ответ #7 : 11 Июня 2002, 07:52:56 »
а можно как-нибудь чтобы данные произвольные были, то есть не только name icq, а всякие.

А вообще это на php можно>?
the cold war is not over...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Отправка данных
« Ответ #8 : 11 Июня 2002, 09:09:07 »
Цитировать
а можно как-нибудь чтобы данные произвольные были, то есть не только name icq, а всякие.

Можно.:)
Цитировать

А вообще это на php можно>?

Это в разделе PHP скрипты спроси.:)
2B OR NOT 2B = FF

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Отправка данных
« Ответ #9 : 11 Июня 2002, 11:50:27 »
наверняка у кого-н на сайте такой скрипт есть.

Скинте мне скрипт на мыло плиз andtar@km.ru
а то у меня так что-то и не получилось...
the cold war is not over...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Отправка данных
« Ответ #10 : 11 Июня 2002, 11:56:10 »
Цитировать
наверняка у кого-н на сайте такой скрипт есть.

Ты скажи сначала, что тебе нужно(!) и на каком языке (Perl или PHP)?
The documentations is your friend

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Отправка данных
« Ответ #11 : 11 Июня 2002, 11:57:16 »
а так на php лучше бы было
the cold war is not over...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Отправка данных
« Ответ #12 : 11 Июня 2002, 12:05:28 »
[moderated on]
Переехали в PHP...
[moderated off]
The documentations is your friend

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Отправка данных
« Ответ #13 : 11 Июня 2002, 12:59:33 »
Цитировать
Ты скажи сначала, что тебе нужно(!) и на каком языке (Perl или PHP


на любом, чтобы только работало.

NeoNox ты мне скинь скрипт на andtar@km.ru
the cold war is not over...

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Отправка данных
« Ответ #14 : 11 Июня 2002, 13:25:40 »
На PHP

<?
$base "base.txt"//файл-база
function show_form() {
?>
<html>
<head>
<title>Ваши координаты</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body bgcolor="#FFFFFF">
<form method="post" action="">
<table width="100%" border="0">
<tr>
<td>Имя:</td>
<td>
<input type="text" name="name">
</td>
</tr>
<tr>
<td>E-mail:</td>
<td>
<input type="text" name="email">
</td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Отправить">
</p>
</form>
</body>
</html>
<?
}
function 
save_data() {
      
$fp fopen($GLOBALS["base"], "a") or die("Не могу открыть файл");
      
$data date("H:i. d.m.y")."\\nname=".$GLOBALS["name"]."\\ne-mail=".$GLOBALS["email"]."\\n";
      
fputs($fp$data);
      
fclose($fp);
      echo 
"Данные сохранены";
}
if (
$name && $emailsave_data(); else show_form();
?>
После трех дней без программирования жизнь становится бессмысленной.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28