标签: cgi

CGI脚本无法在浏览器中运行

我正在创建一个.cgi文件,它以表格格式打印网页上数据库表中的所有值.问题是,当我在putty终端模拟器上运行该文件时,它运行正常,但当我尝试在浏览器上运行该文件时,我得到了即使T在服务器上键入文件的正确位置,也会显示错误消息"找不到文件".

我无法理解我做错了什么?我使用putty将我的文件权限设置为chmod 755*,但它仍然无法正常工作.这是一个文件权限或表结构的问题是否在浏览器上运行是错误的?

请帮忙...

people.CGI文件

 #!/usr/bin/perl
 use CGI;
 use DBI;
 use strict;
 #use warnings;
 #use diagnostics;
 print "Content-type:text/html\r\n\r\n";
 #$q = CGI->new;
 #print  $q->header;
 my $dsn = "DBI:mysql:Demo:localhost";   # Data source name
 my $username = "mint";                 # User name
 my $password = "MINT123";              # Password
 my $dbh;
 my $sth;                          # Database and statement handles
 $dbh = DBI->connect($dsn, $username, $password);

 $sth = $dbh->prepare("SELECT * from people");

 $sth->execute();

 print "<h1>ganesh</h1>";
 print "<table >
 <tr>
 <th>ID</th>
 <th>Name of People Involved</th>
 <th>Position</th>
 <th>Roles(A user can …
Run Code Online (Sandbox Code Playgroud)

perl cgi

-2
推荐指数
1
解决办法
2203
查看次数

从数组中获取数值

我有一个从平面文件中读取的数组,如下所示:

@Array = ('01026¦Cummington¦Massachusetts¦MA',
          '01026¦West Cummington¦Massachusetts¦MA',
          '01030¦East Hampton¦Massachusetts¦MA',
          '01027¦Easthampton¦Massachusetts¦MA',
          '01027¦Loudville¦Massachusetts¦MA',
          '01030¦Mount Tom¦Massachusetts¦MA',
          '01027¦Westhampton¦Massachusetts¦MA',
          '01028¦East Longmeadow¦Massachusetts¦MA',
          '01029¦Big Pond¦Massachusetts¦MA');
Run Code Online (Sandbox Code Playgroud)

我想要做的是获得@Array [1]的三个随机"数值",所以我得到一个如下所示的输出:

print "01028
       01026
       01030";
Run Code Online (Sandbox Code Playgroud)

perl cgi

-3
推荐指数
1
解决办法
65
查看次数

什么是"标题之前的脚本输出结束"?

我想用PERL做一个简单的测试.我编写了input.html并将其放在hgi文件夹中,并将其放在cgi-bin中的output.cgi中.两者都在XAMPP文件夹中,使用mac.这也是使用apache.

HTML文件

<!doctype html>
<html lang="en">
  <body>
<form action="/cgi-bin/output.cgi" method="post">
Enter Fahrenheit: <input type="text" name="fahrenheit" /><br />
Enter Distance in Miles: <input type="text" name="distance" /><br />        
<input type="submit" value="Convert!" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是用户按"转换"时应显示的CGI文件

#!/usr/bin/perl -w

use strict;
use warnings;

use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";


#### read form data
my $fahrenheit = param('fahrenheit');
my $distance = param('distance');


#### do the math
my $celcius = ($fahrenheit * 18.8) + 32;
my $kilometers = $distance * 1.60934;

#### display results …
Run Code Online (Sandbox Code Playgroud)

apache xampp permissions perl cgi

-3
推荐指数
1
解决办法
2万
查看次数

PERL:我的正则表达中缺少什么?

这是学校项目的一部分.我无法弄清楚我的正则表达式中的问题是什么.我有更多的工作,但这些给我带来了困难.Apache没有告诉你出错的确切位置.

First和Last名称必须是两个简单名称,并以Lastname,Firstname格式输出

my $name = param('name');

if($name =~ {2}) {
    print "Name will be stored as $2, $1<br/><br/>";
} else {
    print "Bad name. Enter just two names, your first and last<br/><br/>";
}
Run Code Online (Sandbox Code Playgroud)

密码必须按照正则表达式的顺序排列.从单个大写字母,2个数字,单个空格,2-3个小写字母,一个特殊字符(不是字母或数字)开始.

my $password = param('password');

if ($password =~ /[A-Z]+\d{2}+\s+[a-z]{2,3}+-]\^$/) {
print "Password $password was accepted<br/><br/>";
} else {
print "Bad password, $password was not accepted<br/><br/>";
}
Run Code Online (Sandbox Code Playgroud)

regex perl cgi

-3
推荐指数
1
解决办法
64
查看次数

在没有 CGI 的 Perl 中使用 cookie

我正在尝试使用 Perl 但不使用 CGI 或任何其他框架来创建一个标准论坛风格的网站。我之前见过一个名为“cookies.pl”的脚本,但找不到任何有关它的文档。有没有一种方法可以仅使用核心模块来设置/读取 cookie?

cookies perl cgi

-3
推荐指数
1
解决办法
583
查看次数

Perl字符串在命令提示符下工作,但不在CGI脚本中的system()中工作

在我的CGI脚本中:

system("/home/httpd/cgi-bin/hbplus/hbplus /home/httpd/html/pdb1wdk.ent");

print $?;
Run Code Online (Sandbox Code Playgroud)

系统命令传递文件(例如pdb1wdk.ent)hbplus.这是一个用C编写的exe文件,它处理输入文件以生成输出文件.

该命令可以在命令提示符下完美地工作,并在当前工作目录中创建一个文件,但不能在使用我的CGI脚本运行时创建system.

我也尝试hbplus从Python脚本和shell脚本运行并从Perl CGI调用这些,但这会产生分段错误.

python perl cgi mod-perl

-4
推荐指数
1
解决办法
488
查看次数

perl中使用的哈希变量

这在CGI文件中使用的含义是什么

    my %page = ( web => \%WEB );
Run Code Online (Sandbox Code Playgroud)

此代码使用perl代码在cgi文件中编写.

perl cgi

-4
推荐指数
1
解决办法
78
查看次数

CGI脚本无法创建目录

我有一个从URL访问的perl CGI脚本。我已经使用检查过语法perl -wc,似乎还可以。但是,用于创建目录的命令均未正确执行。权限设置为755

有谁知道如何诊断这个问题?

这是代码:

#!/usr/bin/perl

use CGI;
#-- create CGI Query
$q = CGI->new;
$prefix = "X__";

print "Content-type: text/html\n\n";

#-- get companyID
$entityID = $q->param('entityID');

#-- get directory name
$dir = "${prefix}${entityID}";

#-- change directory
chdir("/var/www/html/web/customers");

#-- create parent company directory
`sudo mkdir -m 755 $dir`;
print "${entityID}";
Run Code Online (Sandbox Code Playgroud)

unix perl cgi cgi-bin

-4
推荐指数
1
解决办法
334
查看次数

readdir()尝试了无效的dirhandle

我究竟做错了什么?我尝试了很多东西,但似乎无法从这个文件中读取.谢谢!

my $d = 'URLs.txt';
open(my $fh, '<:encoding(UTF-8)', $d)
#opendir(D, "$d") || die "Can't open directory $d: $!\n";
  or die "Can't open directory $d: $!\n";

my @list = readdir($fh);
closedir($fh);

foreach my $f (@list) {


my $json_data = get "$f";
my $json_obj = new JSON;
my $URLdata = $json_obj->decode($json_data);

  return $URLdata->{'status'} eq 'UP';
}
Run Code Online (Sandbox Code Playgroud)

perl cgi opendir

-5
推荐指数
1
解决办法
430
查看次数

为什么 PHP 内置标准函数有空函数体?

这怎么可能有一个空的函数体?

这与C/C++PHP 是用它编写的)有关吗?或者它与CGI机制或类似的东西有关?

  • 我想知道函数在底层是如何工作的。
  • 如果我想添加一个简单的函数,将用 C++ 编写的“Hello world”返回给 PHP 怎么办?

提前致谢。

在此处输入图片说明

php c c++ cgi backend

-11
推荐指数
1
解决办法
93
查看次数

标签 统计

cgi ×10

perl ×9

apache ×1

backend ×1

c ×1

c++ ×1

cgi-bin ×1

cookies ×1

mod-perl ×1

opendir ×1

permissions ×1

php ×1

python ×1

regex ×1

unix ×1

xampp ×1