Forum Webscript.Ru

Программирование => PHP => Тема начата: andtar от 10 Июня 2002, 08:40:56

Название: Отправка данных
Отправлено: andtar от 10 Июня 2002, 08:40:56
Нужен простой cgi скрипт, который:
посылает данные формы в txt файл
txt файл примерно должен выглядить:

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


Где name и e-mail переменные
а составление формы должно быть простое на HTML странице
Название: Отправка данных
Отправлено: Chs от 10 Июня 2002, 10:50:28
perldoc CGI в части param
perldoc -f open
perldoc -f print
perldoc -f close
Название: Отправка данных
Отправлено: andtar от 10 Июня 2002, 10:56:16
Цитировать
perldoc -f open
perldoc -f print
perldoc -f close


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

Я в этом не шарю мне по подробней надо, весь текст.
#!/usr/bin/perl  и т.д.
Название: Отправка данных
Отправлено: Chs от 10 Июня 2002, 11:02:02
Цитировать
и это весь cgi скрипт что ли?

Нет, это предложение почитать документацию. :)) Там все подробно, обстоятельно.:))
Название: Отправка данных
Отправлено: NeoNox от 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#


Оставьте свои координаты






















Имя:

Мыло:

Аська:

УРЛ:


Ваш IP: $ip














#;
}

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 "

Вы ввели следующие данные:
 $log_vars

";
};


Данные "вставляются" в data.txt
Что туда писать, надеюсь, сам подставишь...
Название: Отправка данных
Отправлено: Chs от 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()) отработает.:)
Название: Отправка данных
Отправлено: NeoNox от 10 Июня 2002, 17:59:45
Цитировать
If ненужен:

Правда ваша.. ;)
Название: Отправка данных
Отправлено: andtar от 11 Июня 2002, 07:52:56
а можно как-нибудь чтобы данные произвольные были, то есть не только name icq, а всякие.

А вообще это на php можно>?
Название: Отправка данных
Отправлено: Chs от 11 Июня 2002, 09:09:07
Цитировать
а можно как-нибудь чтобы данные произвольные были, то есть не только name icq, а всякие.

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

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

Это в разделе PHP скрипты спроси.:)
Название: Отправка данных
Отправлено: andtar от 11 Июня 2002, 11:50:27
наверняка у кого-н на сайте такой скрипт есть.

Скинте мне скрипт на мыло плиз andtar@km.ru
а то у меня так что-то и не получилось...
Название: Отправка данных
Отправлено: NeoNox от 11 Июня 2002, 11:56:10
Цитировать
наверняка у кого-н на сайте такой скрипт есть.

Ты скажи сначала, что тебе нужно(!) и на каком языке (Perl или PHP)?
Название: Отправка данных
Отправлено: andtar от 11 Июня 2002, 11:57:16
а так на php лучше бы было
Название: Отправка данных
Отправлено: NeoNox от 11 Июня 2002, 12:05:28
[moderated on]
Переехали в PHP...
[moderated off]
Название: Отправка данных
Отправлено: andtar от 11 Июня 2002, 12:59:33
Цитировать
Ты скажи сначала, что тебе нужно(!) и на каком языке (Perl или PHP


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

NeoNox ты мне скинь скрипт на andtar@km.ru
Название: Отправка данных
Отправлено: GotZfild от 11 Июня 2002, 13:25:40
На PHP

$base = "base.txt"; //файл-база
function show_form() {
?>


Ваши координаты














Имя:

E-mail:








}
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 && $email) save_data(); else show_form();
?>
Название: Отправка данных
Отправлено: andtar от 12 Июня 2002, 12:25:01
На php всё хорошо работает, только с сервера файл base.txt не могу прочитать, в чём дело???
Название: Отправка данных
Отправлено: andtar от 12 Июня 2002, 12:27:45
нет всё нормально chmod поменял