Html 使用两个表单将一个值传递给多个php文件

Html 使用两个表单将一个值传递给多个php文件,html,forms,header,export-to-csv,Html,Forms,Header,Export To Csv,我有一个“from”和“to”字段的用户输入,它必须提交到两个不同的php文件中,这两个文件将mysql表导出到csv文件,并在一个新窗口中打开它进行下载。 由于我有2个表和2个CSV文件供用户下载,因此我使用此表单将值传递给2个php文件,这些文件将进行导出 下面的代码有2个表单和2个PHP,只有第一个可以正常工作。第二个表单无法访问$\u POST数组 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

我有一个“from”和“to”字段的用户输入,它必须提交到两个不同的php文件中,这两个文件将mysql表导出到csv文件,并在一个新窗口中打开它进行下载。 由于我有2个表和2个CSV文件供用户下载,因此我使用此表单将值传递给2个php文件,这些文件将进行导出

下面的代码有2个表单和2个PHP,只有第一个可以正常工作。第二个表单无法访问$\u POST数组

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>EXPORT INVOICE </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <SCRIPT LANGUAGE="JavaScript">
      function runscript()
      {
        document.f1.submit();
        document.f2.submit();
      }
    </SCRIPT>

    </head>

    <body>

        <form name="f1" method="post" action="export-tst-with-header.php" target="_blank">

        <br>
        <span class="sty2">Enter to export From Invoice No.:</span> <input type="text" size='10' maxlength='10' name="finv">

        <span class="sty2">To Invoice No:</span>&nbsp; <input type="text"  size='10' maxlength='10' name="tinv">
        </form>

            <form name="f2" method="post" action="export-tst-with-header2.php" target="_blank">
            </form>

        <input type="button" value="Export" onClick="runscript()">


    </body>
    </html>

出口发票
函数runscript()
{
document.f1.submit();
文件f2.提交();
}

输入要从发票号导出的内容: 发票编号:
下面是将mysql表转换为csv文件的第一个导出文件,工作正常,第二个文件也相同,但只是导出的表不同,不工作:

    <?php

    //echo "Exporting file - process"."<br><br>";

    $dbservertype='mysql';
    $servername='localhost';
    $dbusername='aab';
    $dbpassword='aabs';
    $dbname='aab';

    ////////////////////////////////////////
    ////// DONOT EDIT BELOW  /////////
    ///////////////////////////////////////
    connecttodb($servername,$dbname,$dbusername,$dbpassword);
    function connecttodb($servername,$dbname,$dbuser,$dbpassword)
    {
    global $link;
    $link=mysql_connect ("$servername","$dbuser","$dbpassword");
    if(!$link){die("Could not connect to MySQL");}
    mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
    }
    //////// End of connecting to database ////////
    $from=$_POST['finv'];
    $to=$_POST['tinv'];

    //echo $_POST['action'];

    //if ($_POST['action'] == 'download')
    //{

        header("Content-type: application/csv");
        header("Content-Disposition: attachment; filename=downloadinv.csv");
        header("Pragma: no-cache");
        header("Expires: 0");



    $query = "SELECT * FROM INVHDR WHERE Invno between $from AND $to";

    $export = mysql_query ($query ) or die ( "Sql error : " . mysql_error( ) );

    $fields = mysql_num_fields ( $export );

    for ( $i = 0; $i < $fields; $i++ )
    {
        $header .= mysql_field_name( $export , $i ) . "\t";

    }

    while( $row = mysql_fetch_row( $export ) )
    {
        $line = '';
        foreach( $row as $value )
        {                                            
            if ( ( !isset( $value ) ) || ( $value == "" ) )
            {
                $value = "\t";
            }
            else
            {
                $value = str_replace( '"' , '""' , $value );
                $value = '"' . $value . '"' . "\t";
            }
            $line .= $value;
        }
        $data .= trim( $line ) . "\n";
    }
    $data = str_replace( "\r" , "" , $data );

    if ( $data == "" )
    {
        $data = "\n(0) Records Found!\n";                        
    }

    mysql_query("UPDATE INVHDR SET Export=1 WHERE Invno between $from AND $to");

    print "$header\n$data";


    //}
    exit();
    php?>

您必须将$\u POST['finv']和$\u POST['tinv']传递到第二个php页面。

要么将它们存储在$\u会话变量中(并在第二页中从$\u会话['finv']和$\u会话['tinv']恢复它们),要么创建一个隐藏字段并重新发布它们。

我为第二个表单添加了隐藏字段,它不起作用,我的代码:您需要将其初始化为$\u POST['tinv']如果您使用会话,我不鼓励使用此解决方案。它会更简单谢谢,会话工作正常。只添加了以下内容:会话开始();如果(isset($$U POST['Submit']){$\U会话['finv']=$\U POST['finv'];$\U会话['tinv']=$\U POST['tinv'];}