1

在 PHP 中,重定向到一个新的 URL 并传递诸如“用户名”之类的信息是很常见的。

<?php

   header( 'Location: http://www.yoursite.com/new_page.php?user_name=$username' ) ;

?>

然后我可以访问“new_page.php”中“user_name”的值。

我不知道如何使用 perl 来做到这一点。

print $cgi->redirect(-uri=>http://www.yoursite.com/new_page.pl?user_name=$username, -status=>303 , -cookie => $c );

我试过用我的$username = $cgi->param('user_name'),但它没有打印任何东西。

谢谢。

4

2 回答 2

4

你忘记了引号:

print $cgi->redirect(
         -uri=>"http://www.yoursite.com/new_page.pl?user_name=$username", 
         -status=>303,
         #... 
);

另外,请记住在调用重定向之前转义用户名:

my $username = escape( $cgi->param('user_name') );
于 2013-05-01T20:17:36.290 回答
1

我不认为 PHP 会起作用,但我不是 PHP 开发人员。如果你给出错误它会有所帮助,但我认为你需要引用字符串。

print $cgi->redirect(
    -uri    => "http://www.yoursite.com/new_page.pl?user_name=$username",
    -status => 303,
    -cookie => $c,
);

您应该在脚本顶部添加以下两行(启用strictwarnings pragma),它们会帮助您调试问题:

use strict;
use warnings;

作为记录,我认为PHP 示例应该使用双引号

header( "Location: http://www.yoursite.com/new_page.php?user_name=$username" );
于 2013-05-01T20:18:13.743 回答