【问题标题】:How to redirect and pass parameter at the same time in Perl?如何在 Perl 中同时重定向和传递参数?
【发布时间】:2014-10-10 08:00:49
【问题描述】:

我很难弄清楚如何重定向到另一个页面,同时在 Perl 中传递一个参数。我尝试了 CGI.pm 库和 Perl 书籍,但我能找到的只是没有任何附加参数的重定向示例。如果用户输入了正确的密码,我想要做的是重定向到另一个页面,但我想在另一个页面上显示他的名字,所以我尝试了:

$cgi->redirect('myothersite', value="username"); 

在另一个站点中,我尝试通过以下方式获取该值:

$cgi = CGI->new;
$username = $cgi->param("username");

 my %name = map { $_ => 1 } param;

    if ($name{username}) {
      my $username  = param("username");
      print   
          header,
          start_html,
          "Hello, $name",p,
          etc...

以及其他各种使其工作的方法,但这只会给我带来错误。有谁知道怎么做?

【问题讨论】:

    标签: perl redirect cgi


    【解决方案1】:

    只需在查询字符串中包含参数即可:

    $cgi->redirect("myothersite?username=$username"); 
    

    或者,您可以将键/值保存在 CGI::Session 或类似结构中。

    【讨论】:

    • 谢谢,但在另一个文件中它打印为 $username 而不是 $username 所代表的名称,我如何从中获取实际名称?
    • 我尝试使用以下命令检索它:my $cgi = CGI->new;我的 $un = $cgi->param("用户名");然后在我的代码中使用 $un,所以它只打印 $username 而不是存储在另一页 $username 0n 中的名称。
    • 实际上,我在重定向中使用了单引号,当我切换到双引号时一切正常。再次感谢。
    猜你喜欢
    • 2013-06-08
    • 2012-11-22
    • 1970-01-01
    • 2020-09-29
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    相关资源
    最近更新 更多