首页 > 解决方案 > 值在浏览器中显示为空,但在数据库中可用

问题描述

一旦我们点击下载按钮,我们将尝试以 pdf 格式下载完整的订单详细信息……这里100452121是 orderid,xpress是运输名称,14104918100111是跟踪 ID……

我们设置了条件,如果 tracking_id 为空,那么它应该是空的,但是即使 tracking_id 可用于订单,echo 0我们也会得到零[0]....

在此处输入图像描述在此处输入图像描述

Shippinglabel.php pastebin 中的完整代码

<td><?php echo $orderrecords[$k]["order_id"]; ?><br/>
<?php
if ($st == 1) {
    if ($orderrecords[$k]["tracking_id"] == '') {       
?>

    <input type="button" name="shipment" id="xpress" value="xpress" 
    onclick="createshipment('<?php echo $orderrecords[$k]["order_id"];?>')" />

<?php
}
}
?>

<?php
if ($orderrecords[$k]["tracking_id"] != '' && $orderrecords[$k]["shipping_name"] == 'xpress')
{
?>

    <a target="_blank"
    href="http://sbdev1.kidsdial.com/ecom1/xpress/xpressdownload.php?orderId=<?php
    echo $orderrecords[$k]["order_id"];?>" 
    id="pdfdownload" >

    <input type="button" name="shipment" value="DOWNLOAD" /></a>
<?php
}
?>
</td>

创造装运

function createshipment(orderid)
    {    
      var assignee='<?php echo $_SESSION['login_user']?>';
      alert(orderid);
      $.ajax({
        url: "xpressshipment.php",
        type: "POST",
        data:'orderid='+orderid+'&assignee='+assignee,
        success: function(data){
          if(data==1)
          {
            $("#pdfdownload").show();

          }         
          if(data==0){alert("First Enter Tracking Id.");}
          window.location ="http://sbdev1.kidsdial.com/ecom1/xpress/xpressdownload.php?orderId="+orderid;

        }
      });
    }

xpressshipment.php pastebin 中的完整代码

<?php

$data = 
array (
'AirWayBillNO' => $resultc[0]['awb'],
);

if($res->AddManifestDetails[0]->ReturnMessage=='successful')
{
    $sqli="update  do_order set tracking_id='".$resultc[0]['awb']."',shipping_name='xpress' where order_id='".$order_id."'";
    $resulti=$db_handle->executeUpdate($sqli);
}

?>

xpressdownload.php pastebin 中的完整代码

<?php

if(isset($_GET['orderId']) && $_GET['orderId']!='')
{
  $orderid=$_GET['orderId']; 
}
else
{
   echo 2;
}
$orderid='';

$sqlorder = "SELECT tracking_id,order_id from do_order where order_id='".$orderid."' limit 1";
$resultdoorder = $db_handle->runSelectQuerys($sqlorder);
if($resultdoorder['tracking_id']=='')
{
  echo 0;
  //var_dump("tracking_id");
}

var_dump("tracking_id"); 结果给出了字符串(11)“tracking_id” ....

如果您需要更多详细信息,请告诉我....

请帮我找到解决方案....

提前致谢....

标签: php

解决方案


在文件 xpressdownload.php 中,您错误地定义了变量 $orderid。

if(isset($_GET['orderId']) && $_GET['orderId']!='')
{
    $orderid=$_GET['orderId']; 
}
else
{
   echo 2;
}
$orderid='';

首先,您正在检查 $_GET['orderId'] 是否存在,如果存在,则将 $_GET['orderId'] 的值赋予 $orderid。这是对的。但是在 if... else 块之后,你给 $orderid '' 值。因此,在每种情况下,$orderid 都具有 null 值,并且您的 sql 查询不会返回记录。您必须删除行 $orderid=''; 或将其移到 if 语句之前。


推荐阅读