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

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

Оффлайн Infostorage

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Передача данных в скрипт
« : 29 Октября 2001, 13:33:24 »
Помогите, кто может решить вопрос.
Пытаюсь передать значения в скрипт , не через форму а напрямую с строке запроса(http://site/cgi-bin/list.cgi?user_name=ssss),  и вывести эти значения на экран таким образом:

#!c:/perl/bin/perl
print "Content-Type: text/html\\n\\n";
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
  ($name, $value) = split(/=/, $pair);
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ s///g;
  $input{$name} = $value;
}

print "$input{\'user_name\'}";

В итоги на экране пустота. В чем же ошибка?

Оффлайн MyCom

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mycom.ru
Передача данных в скрипт
« Ответ #1 : 29 Октября 2001, 15:16:50 »
вместо
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
используй
($ENV{\'REQUEST_METHOD\'} eq "POST") and  read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
($ENV{\'REQUEST_METHOD\'} eq "GET")  and  ($buffer = $ENV{\'QUERY_STRING\'});

т.е. при вводе в статусной строке, данные передаются методом GET, и соотвественно они записываются в другую переменную

Оффлайн Infostorage

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Передача данных в скрипт
« Ответ #2 : 29 Октября 2001, 17:55:25 »
Спасибо :-)

Оффлайн Wowik

  • The Warlock
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Передача данных в скрипт
« Ответ #3 : 30 Октября 2001, 05:30:40 »
Не, вот мучения! :)
используй модуль CGI


#!/usr/bin/perl

use CGI qw/:standart/;
print header,param(\'user_name\');
А ларчик просто открывался ...

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
ну как сказать
« Ответ #4 : 30 Октября 2001, 17:42:26 »
Цитировать
Не, вот мучения!  
используй модуль CGI

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

Оффлайн Wowik

  • The Warlock
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Передача данных в скрипт
« Ответ #5 : 31 Октября 2001, 05:22:06 »
Цитировать
непрактично загружать модуль со столькими функциями лишь для того, чтоб воспользоваться всего лишь одной махонькой функцией.

Но!
1. позволит избежать ненужных ошибок
2. сделает код скрипта более изящным и читаемым
А ларчик просто открывался ...

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
спорно
« Ответ #6 : 31 Октября 2001, 11:51:21 »
Цитировать
сделает код скрипта более изящным и читаемым

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

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Передача данных в скрипт
« Ответ #7 : 08 Ноября 2001, 11:34:04 »
:) Спорное, но ошибок будет действительно меньше. :))
И экспортировать можно только часть функций.
А вопрос изобретения велосипеда и повторной отладки уже существующих функций то же спорный.:)
2B OR NOT 2B = FF

Оффлайн Johnny

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://johnnybg.h1.ru
Передача данных в скрипт
« Ответ #8 : 12 Ноября 2001, 22:04:36 »
Почему же всё загружать. А Autoloader/Selfloader зачем тогда?

 

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