通过php将数据从mysql导出到带有ezpdf的pdf的未定义变量会话

通过php将数据从mysql导出到带有ezpdf的pdf的未定义变量会话,php,mysql,pdf,Php,Mysql,Pdf,我在通过php使用ezpdf将数据从mysql导出到pdf时遇到问题。问题是当执行文件时,总是说未定义变量$sesen_uk。但当我将where条件更改为类似于生产的手动方式时,就没有问题了 <?php require 'config.php'; require 'class.ezpdf.php'; $sesen_uk = $_SESSION['unitkerja']; $sql = mysqli_query($conn, "SELECT * FROM arsip WHERE

我在通过php使用ezpdf将数据从mysql导出到pdf时遇到问题。问题是当执行文件时,总是说未定义变量$sesen_uk。但当我将where条件更改为类似于生产的手动方式时,就没有问题了

<?php
require 'config.php';
require 'class.ezpdf.php';

$sesen_uk     = $_SESSION['unitkerja'];

$sql  = mysqli_query($conn, "SELECT * FROM arsip WHERE lokasi = '$sesen_uk' ");
$i    = 1;
if (mysqli_num_rows($sql) > 0) // Menampilkan data apabila ada datanya
{
  while($tampil = mysqli_fetch_array($sql)) 
  {
    $data[$i] = array ( 'No. Urut'      => $i,
                    'No. Surat'     => $tampil['no_surat'],
                    'Uraian'        => $tampil['uraian'],
                    'Lokasi'        => $tampil['lokasi'],
                  );
            $i++;
  }

$pdf = new Cezpdf('A4','portrait');
$pdf->ezSetCmMargins(1, 3, 3, 3);
$pdf->addJpegFromFile('images/logo.jpg',45,758,40);
$pdf->ezText('Monthly Report', 17, array('justification' => 'center'));
$pdf->ezSetDy(-10);
$pdf->ezSetDy(-10);

$pdf->line(31, 755, 565, 755);
$pdf->ezTable($data, '', '', '');
$pdf->ezSetDy(-50);

$pdf->ezStartPageNumbers(564, 20, 8);
$pdf->ezStream();
}  
  else
  {
    echo '<script>alert("No data");location.replace("report.php")</script>';
  }
?>

您的代码不包含
会话_start(),因此会话从未启动

它需要驻留在使用会话的所有文件中

  • 参考:
最好首先检查它是否设置为空

例如:
if(isset($_SESSION['unitkerja']){…}else{…}

或:

if(isset($\u SESSION['unitkerja'])和&!empty($\u SESSION['unitkerja']){…}

参考资料:

此外,您还可以接受SQL注入。使用事先准备好的陈述

参考资料:


您没有开始会议MG,非常感谢您,先生@Fred ii-