【问题标题】:Passing NULL variables to Perl from PHP?将 NULL 变量从 PHP 传递给 Perl?
【发布时间】:2014-11-30 02:51:00
【问题描述】:

我有一个 php 页面,我正在使用表单并将表单上的选择/数据传递给我创建的 perl 脚本。不幸的是,当我传递变量时,如果有任何空变量,我在 perl 脚本中收到的变量没有按正确的顺序输入。有没有办法确保传递给 perl 脚本的变量无论是否有数据都给出正确的顺序?

<form action="index.php" method="post">
FTP/SFTP: <select name="TYPE">
    <option value="">Select...</option>
    <option value="ftpd">FTP</option>
    <option value="sftpd">SFTP</option>
</select></t><Br>
Search String: <input type="text" name="SEARCH"></t><br>
Search Type: <select name="STYPE">
    <option value="">Select...</option>
    <option value="user">Username</option>
    <option value="ip">IP Address</option>
    <option value="pid">PID</option>
    <option value="file">Filename</option>
</select><br>
Date (YYYY-MM-DD): <input type="text" name="DATE"></t><br>
Server: <select name="SERVER">
    <option value="">Select...</option>
    <option value="test1ftp">test1</option>
    <option value="test2ftp">test2</option>
</select></t><Br>

<input type="submit" name="formSearch" value="Search">

</form></font></p>

</body>
</html>

这是调用 perl 脚本的 php 部分:

<?php       
    if(isset($_POST['formSearch']) == "Search")
    {
        if(empty($_POST['SEARCH']))
            $_POST['SEARCH'] = "undef";

        if(empty($_POST['SERVER']))
            $_POST['SERVER'] = "undef";

        if(empty($_POST['DATE']))
            $_POST['DATE'] = "undef";


        //system("perl search.pl $_POST[TYPE] $_POST[SEARCH] $_POST[STYPE] $_POST[DATE] $_POST[SERVER]", $return_val);


    }
?>

当它到达 perl 脚本时,我将正在传递的变量转到以下位置。

my $TYPE = $ARGV[0];
my $SEARCH = $ARGV[1];
my $STYPE = $ARGV[2];
my $DATE = $ARGV[3];
my $SYSTEM = $ARGV[4];

因此,如果我在 SEARCH 中没有数据,似乎应该传递给 $DATE 的数据现在最终在 $SEARCH 中。

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: php forms perl


    【解决方案1】:

    引用命令行参数。如果 $_POST[...] 变量中有空格,这也很有用:

    system("perl search.pl \"$_POST[TYPE]\" \"$_POST[SEARCH]\" \"$_POST[STYPE]\" \"$_POST[DATE]\" \"$_POST[SERVER]\"", $return_val);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-15
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 2017-01-22
      • 2020-01-24
      相关资源
      最近更新 更多