Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将一个变量从一个页面传递到另一个页面以生成pdf_Php_Pdf_Phpexcel_Tcpdf - Fatal编程技术网

Php 将一个变量从一个页面传递到另一个页面以生成pdf

Php 将一个变量从一个页面传递到另一个页面以生成pdf,php,pdf,phpexcel,tcpdf,Php,Pdf,Phpexcel,Tcpdf,我有一个页面,我用来检索一些用php编写的excel数据。。。通过使用phpexcel。。。这部分为我提供公司信息 echo '<form action="final.php" method="post">'; echo "<table border='1'>"; for ($rowcount = $rowCompanyInfoStart; $rowcount <= $rowCompanyInfoEnd; $ro

我有一个页面,我用来检索一些用php编写的excel数据。。。通过使用phpexcel。。。这部分为我提供公司信息

echo '<form action="final.php" method="post">';
            echo "<table border='1'>";



            for ($rowcount = $rowCompanyInfoStart; $rowcount <= $rowCompanyInfoEnd; $rowcount++)
            { 

            //$data = $objWorksheet->rangeToArray('A1:' . $maxCell['column'] . $maxCell['row']);
            $rangeCoordinates = $colCompanyInfoStart . $rowcount . ':' . $colCompanyInfoEnd . $rowcount;
            $rowData = $sheet->rangeToArray($rangeCoordinates, NULL, TRUE, FALSE);
                    echo "<tr>";

              $companyname=$worksheet->getCell($column.$row)->getValue();
            //  echo $companyname;

                foreach($rowData[0] as $result) 
                                                {

            echo "<td>".$result." </td>";

                            }


                    echo "</tr>";
            }
                echo "</table>";

            echo "<br />";
        echo    '<input type="submit" name="sub" value="Convert into PDF" />';
    //  echo '<input type="text" name="resName" value="$result">';

        function getdatan() 
{ 
   global $result; // declare as global
   return $result;    
} 


    echo '</form>';
echo';
回声“;
对于($rowcount=$rowCompanyInfoStart;$rowcount rangeToArray('A1:'.$maxCell['column'.$maxCell['row']);
$rangeCoordinates=$ColCompanyFoStart.$rowcount.':'。$ColCompanyFoEnd.$rowcount;
$rowData=$sheet->rangtoarray($rangeCoordinates,NULL,TRUE,FALSE);
回声“;
$companyname=$worksheet->getCell($column.$row)->getValue();
//echo$companyname;
foreach($rowData[0]作为$result)
{
回显“$result.”;
}
回声“;
}
回声“;
回声“
”; 回声'; //回声'; 函数getdatan() { 全局$result;//声明为全局 返回$result; } 回声';
这部分是我获取公司信息的地方…它看起来像下面部分显示的表格区域

我检索信息并能够显示为“$result”变量,使用名为“convert it to pdf”的提交按钮,我将其发送到其他php页面,在那里我使用TCPDF

通常情况下,第二页的这一部分

 $pdf->SetFont('times', 'BI', 12);

    // add a page
    $pdf->AddPage('L', 'A4');

    if(isset($_POST['submit']))
            {
    $result = $_GET['resName'];
    $pdf->Write(20, $result, '', 0, 'C', true, 0, false, false, 0);
          }

          // set some text to print
    $txt = <<<EOD
    TCPDF Example 003
    Custom page header and footer are defined by extending the TCPDF class and overriding the Header() and Footer() methods.
    EOD;

    // print a block of text using Write()

   // $pdf->Write(20, $resultt, '', 0, 'C', true, 0, false, false, 0);
    // ---------------------------------------------------------
     ob_end_clean();
    //Close and output PDF document
    $pdf->Output('example.pdf', 'I');
$pdf->SetFont('times','BI',12);
//添加页面
$pdf->AddPage('L','A4');
如果(isset($_POST['submit']))
{
$result=$\u GET['resName'];
$pdf->Write(20,$result',0,'C',true,0,false,false,0);
}
//设置一些要打印的文本
$txt=试试这个

更改:
echo';

致:

只是为了检查你从第一页收到了什么

也改变了:

 $result = $_GET['resName'];
为此:

 $result = $_POST['resName'];

好吧,因为我是一个人…我自己找到了解决办法。。。。 在PHP的第一页上

session_start();
//rest of your code and then...
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
                echo '<form action="final.php" method="POST">';
                $tablo="<br />";
                $tablo = $tablo."<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\" align='center'>";
                for ($rowcount = $rowCompanyInfoStart; $rowcount <= $rowCompanyInfoEnd; $rowcount++)
                { 
                    //$data = $objWorksheet->rangeToArray('A1:' . $maxCell['column'] . $maxCell['row']);
                    $rangeCoordinates = $colCompanyInfoStart . $rowcount . ':' . $colCompanyInfoEnd . $rowcount;
                    $rowData = $sheet->rangeToArray($rangeCoordinates, NULL, TRUE, FALSE);
                    //fazla bosluk olursa bunları aç ya da hucre bos mu kontrol et (cellExists ile) 
                    //rowData = array_map('array_filter', $rowData);
                    //$rowData = array_filter($rowData);    
                    $tablo= $tablo."<tr >";
                    $companyname=$worksheet->getCell($column.$row)->getValue();
                    //  echo $companyname;              
                    foreach($rowData[0] as $result) 
                    {
                        $tablo= $tablo. "<td>".$result. " </td>";
                    }
                    $tablo= $tablo. "</tr>";
                }
                $tablo= $tablo. "</table>";
                echo $tablo;
                echo "<br />";

                if($_SERVER['REQUEST_METHOD'] != 'POST') {
                    echo "SESSION Not AVAIL. first run.";
                }


                else{   
                    $_SESSION['varname'] = $tablo;
                    }

                echo    '<input type="submit" name="resName" value="Convert into PDF" />';

            }
session_start();
//剩下的代码,然后。。。
如果($\u服务器['REQUEST\u METHOD']=='POST'){
回声';
$tablo=“
”; $tablo=$tablo.“; 对于($rowcount=$rowCompanyInfoStart;$rowcount rangeToArray('A1:'.$maxCell['column'.$maxCell['row']); $rangeCoordinates=$ColCompanyFoStart.$rowcount.':'。$ColCompanyFoEnd.$rowcount; $rowData=$sheet->rangtoarray($rangeCoordinates,NULL,TRUE,FALSE); //fazla bosluk olursa bunlarıaçya da hucre bos mu kontrol et(Cellile) //rowData=array\u map('array\u filter',$rowData); //$rowData=数组过滤器($rowData); $tablo=$tablo.“; $companyname=$worksheet->getCell($column.$row)->getValue(); //echo$companyname; foreach($rowData[0]作为$result) { $tablo=$tablo.“$result.”; } $tablo=$tablo.“; } $tablo=$tablo.“; echo$tablo; 回声“
”; 如果($\u服务器['REQUEST\u METHOD']!='POST'){ echo“会话无效。首次运行。”; } 否则{ $\会话['varname']=$tablo; } 回声'; }
所以我在这里使用了“POST请求”而不是“POST”。它发送“请求”而不发送任何“POST数据”…然后为了发送数据,我创建了一个名为“$table”的变量,我将所有行和单元格信息放入其中,并创建了一个会话,以便第二个PHP可以检索它

在第二个PHP页面上,我回答“请求”并像这样打开“会话”

session_start();

//rest of your code and then...

   if($_SERVER['REQUEST_METHOD'] != 'POST') {
            echo "SESSION Not AVAIL. first run.";
            $tablo = $_SESSION['varname'];
            echo "SESSION now set.";
        }
        else{   
            $tablo = $_SESSION['varname'];
            //echo "SESSION SET, value: " .$_SESSION['varname']. " and ". $_SESSION['color'];
        }
        if (isset($_SESSION['varname'])){
            $tablo = $_SESSION['varname'];
            // print_r($_SESSION);
            //echo "Session Set: <br/>" . $tablo;
        }
        else{
            echo "Session not set. Tablo is empty";
        //  echo "Session Set: <br/>" . $tablo;
        }
session_start();
//剩下的代码,然后。。。
如果($\u服务器['REQUEST\u METHOD']!='POST'){
echo“会话无效。首次运行。”;
$tablo=$_会话['varname'];
echo“会话现在已设置。”;
}
否则{
$tablo=$_会话['varname'];
//echo“会话集,值:”..$\u会话['varname']”和“$\u会话['color']”;
}
if(isset($\u会话['varname'])){
$tablo=$_会话['varname'];
//打印(美元会话);
//echo“会话集:
”。$tablo; } 否则{ echo“未设置会话。Tablo为空”; //echo“会话集:
”。$tablo; }

就是这样!

仍然不起作用,我的朋友,事实上,我甚至在尝试治疗,但仍然不起作用
session_start();
//rest of your code and then...
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
                echo '<form action="final.php" method="POST">';
                $tablo="<br />";
                $tablo = $tablo."<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\" align='center'>";
                for ($rowcount = $rowCompanyInfoStart; $rowcount <= $rowCompanyInfoEnd; $rowcount++)
                { 
                    //$data = $objWorksheet->rangeToArray('A1:' . $maxCell['column'] . $maxCell['row']);
                    $rangeCoordinates = $colCompanyInfoStart . $rowcount . ':' . $colCompanyInfoEnd . $rowcount;
                    $rowData = $sheet->rangeToArray($rangeCoordinates, NULL, TRUE, FALSE);
                    //fazla bosluk olursa bunları aç ya da hucre bos mu kontrol et (cellExists ile) 
                    //rowData = array_map('array_filter', $rowData);
                    //$rowData = array_filter($rowData);    
                    $tablo= $tablo."<tr >";
                    $companyname=$worksheet->getCell($column.$row)->getValue();
                    //  echo $companyname;              
                    foreach($rowData[0] as $result) 
                    {
                        $tablo= $tablo. "<td>".$result. " </td>";
                    }
                    $tablo= $tablo. "</tr>";
                }
                $tablo= $tablo. "</table>";
                echo $tablo;
                echo "<br />";

                if($_SERVER['REQUEST_METHOD'] != 'POST') {
                    echo "SESSION Not AVAIL. first run.";
                }


                else{   
                    $_SESSION['varname'] = $tablo;
                    }

                echo    '<input type="submit" name="resName" value="Convert into PDF" />';

            }
session_start();

//rest of your code and then...

   if($_SERVER['REQUEST_METHOD'] != 'POST') {
            echo "SESSION Not AVAIL. first run.";
            $tablo = $_SESSION['varname'];
            echo "SESSION now set.";
        }
        else{   
            $tablo = $_SESSION['varname'];
            //echo "SESSION SET, value: " .$_SESSION['varname']. " and ". $_SESSION['color'];
        }
        if (isset($_SESSION['varname'])){
            $tablo = $_SESSION['varname'];
            // print_r($_SESSION);
            //echo "Session Set: <br/>" . $tablo;
        }
        else{
            echo "Session not set. Tablo is empty";
        //  echo "Session Set: <br/>" . $tablo;
        }