问题标签 [cgi.pm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
435 浏览

perl - Perl:如何检查 CGI::header 是否已经被调用?

使用CGI::Carp,我想用它set_die_handler来优雅地输出错误消息。

网页预计不会遇到错误,但如果确实发生并且在print header已经被调用之后的某个地方发生,它会将标题输出为文本,并且页面很可能格式不正确。

正如问题所述,我想检查 CGI::header() 是否已被调用。这可以通过使用全局变量并将其设置为我可能调用该函数的每个位置来完成,但我希望这可能已经在内部执行;或者可能有一种方法可以解析已经发送到 STDOUT 的内容。非工作代码示例:


注意:
与 CGI.pm 的年龄相关的评论被接受,但也很快被驳回 :) 意识到 Perl 有 MVC 框架

0 投票
3 回答
986 浏览

perl - 数据发布为“多维数组”(读入数组:PERL)

我正在使用一个新的支付处理器,他们的数据表只是说他们的信息是作为多维数组发布的。仅引用几个变量:

** 有十个这样的数组

我发现如果该人订购 3 件商品,则有一个名为“item_count”的变量,这意味着 X 变为 [0]、[1] 和 [2]

但是在这个 POSTed 数据中读取并分离它的方法是什么。当然这将是某种“foreach”循环,但我需要什么变量名是个谜

对于普通变量,即获取“名称/值”对,我使用这个:

任何指针?

+++++

不确定这是否是添加到此帖子的正确方法;我还在学习系统

我现在的问题是这些数据以什么格式发布到标准输入等。或者更重要的是,它将被读入什么。由于“products”是一个单一的变量名,所有数据是在一个单一的“$products”变量中,还是所有数据都包含在@products 中?

0 投票
2 回答
755 浏览

perl - 如何使用 Perl 的 CGI.pm 读取多个 cookie?

我正在使用 CGI.pm 来写出 cookie。现在在用户使用我的网站的过程中,其他 cookie 被添加到“test.com”cookie 集中,(如浏览器历史记录所示)

但现在我想注销用户,并“清理”PC。由于我不知道用户使用了哪些脚本,因此我无法预见 PC 上的 cookie 是什么。

简而言之,它有一种方法可以将“test.com”的所有 cookie 读回脚本中,这样我就可以在 1 秒内再次打印出来,(有效地“删除”它们)**我知道你可以阅读cookie 回到 $xyz=cookie('$name') ... 但是如何创建包含 $name 变量的数组以便循环遍历它?该脚本还将在“test.com”上运行,因此跨站点策略不是问题

+++++ brian d foy在下面添加了部分答案。所以这就是我设想的代码可能被串在一起的方式。

我想知道脚本如何识别域。似乎该脚本足够智能,可以仅加载正在执行该脚本的域的 cookie。(现在我要找出为什么 Firefox 不删除过期的 cookie!刚刚在我的测试域中发现了一些在 1 月 29 日至 31 日过期的列表,起初我想知道为什么它们没有出现在我的 cookie 列表中! )

0 投票
2 回答
38 浏览

perl - perl CGI.pm:列表与字符串来构建页面

CGI.pm 示例依赖列表连接而不是字符串连接是否有原因?两者可以互换吗?思考

对比

我有一个具体的要求。从字符串构建页面非常方便。毕竟,perl 将标量字符串理解为基本类型。

但是,我对字符串 concat 上下文中的一些奇怪行为感到完全困惑。具体来说,我偶尔遇到过隐藏中的 $var 与提交按钮中的不一样的情况。我可以解决这个问题,但我宁愿理解 CGI.pm 。

有人可以解释一下字符串 concat 是否应该工作吗?

0 投票
1 回答
65 浏览

apache - 分块读取 CGI.PM 文件

我们有一个文件,从 HTML 表单发送到 CGI (perl) 脚本。我们知道,通过 CGI.PM 来自 HTML 的文件被分页到磁盘上(作为 RAM 的替代品)。在这种情况下,我有一个问题:是否可以从该内存中逐块将文件读入 CGI 脚本(例如,读入数组)?我们的代码尽可能简单:

如果可能,那么我有第二个子问题:是否可以读取不同的块(例如:从 0 到 500 字节,然后从 1000 到 1500,然后从 501 到 999 字节?谢谢!

0 投票
1 回答
130 浏览

html - 通过多个子例程使用 perl CGI.pm

所以我正在做一个学校项目,我被要求编写 perl cgi 脚本来创建一个社交网站。

我为不同的页面创建了多个子例程,但我的问题是,当我尝试单独执行每个子例程时,它工作正常,但是当我尝试通过其他一些子例程运行它时,它只是将我重定向到我的第一页。

例如:这是我的新用户页面代码:

如果我尝试使用子程序“first”调用相同的子程序并单击“Save”按钮,它会将我重定向到我调用 new_user 的“First”页面。

任何帮助将不胜感激。

谢谢

0 投票
3 回答
837 浏览

html - 为 cgi.pm 文件添加 css

我已经在 html 的 cgi 文件中编写了这段代码,但它在 xampp 服务器中显示内部服务器错误。当我在命令行中编译它时,它只是显示“无调试”作为结果。我做错了什么?该代码在没有包含 css 部分的情况下工作正常,但是一旦我添加了链接部分,它就会停止工作。

0 投票
1 回答
84 浏览

perl - 根据另一个选择框在选择框中填充数据库中的值

我想将数据库中的值从一个选择框(即ostype)填充到另一个选择框(host_name)。host_name 中的值应从数据库中填充。我已经为此编写了 ajax 代码,这样我就不必刷新来填充值。我知道这段代码不完整,但我被困在这一点上。如何才能做到这一点 ?

这是cgi代码:

逻辑 perl 模块

逻辑.cgi

perl 模块正在工作,因为我填充了选择框中的所有值,但它不适用于 ostype 的特定值。

0 投票
3 回答
704 浏览

javascript - 在 cgi.pm 中包含内部 javascript

我想在 cgi.pm 文件中添加 jquery datepicker 并想为 datepicker 添加脚本 jquery 标记内联,因为它在外部 javascript 文件中不起作用。如何添加这个.. 我必须使用 cgi.pm 因为我被告知在我的工作场所这样做,而不是选择......

ivalid.js 和 sthome.css 中的代码运行良好......

这是我想在 cgi 文件内部添加的功能。

cgi.pm

0 投票
0 回答
426 浏览

perl - 当表单文件元素为空时,在 Perl 中处理多部分/表单数据会使用 Apple 设备调用 Apache 错误

我的应用程序是用 Perl 5.14.2 编写的。我处理多部分/表单数据

几周后,此过程在特定 Apple 设备上调用 Apache 级别的超时:

(70007)指定的超时已过期:读取请求实体数据时出错

调用超时错误的苹果设备都有Applewebkit/605共同点。这主要是 Mac 上的 Safari 浏览器版本 11。

表单数据通过以下方式发送:

我发现当表单数据包含空的“文件”类型的元素(未提供文件)时,就会出现问题。问题不依赖于 CGI 或 CGI::Simple 的使用。即使只是尝试获取 STDIN 缓冲区也会引发错误。

解决方法是在分配表单数据之前删除 <form> 的空文件元素,从而删除表单数据:

自 2018 年 4 月 11 日以来,该错误似乎已为人所知
https://bugs.webkit.org/show_bug.cgi?id=184490

似乎已经在 Stackoverflow
Safari 11.1 上报告过:当 input[type=file] 为空时,ajax/XHR 表单提交失败