先贴apache日志里的php错误:[Tue Jan 17 11:14:10 2012] [error] [client 101.226.33.217] PHP Notice:  Undefined index: aliorder in /home/alipay/alipayto.php on line 24
[Tue Jan 17 11:14:10 2012] [error] [client 101.226.33.217] PHP Notice:  Undefined index: alibody in /home/alipay/alipayto.php on line 25
[Tue Jan 17 11:14:10 2012] [error] [client 101.226.33.217] PHP Notice:  Undefined index: alimoney in /home/alipay/alipayto.php on line 26
[Tue Jan 17 11:14:10 2012] [error] [client 101.226.33.217] PHP Notice:  Undefined index: pay_bank in /home/alipay/alipayto.php on line 29
alipayto.php文件就是支付宝的接口文件,是支付宝官方提供的
24行开始是:
$subject      = $_POST['aliorder']; //$_POST['aliorder']订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。
$body         = $_POST['alibody']; //订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里
$total_fee    = $_POST['alimoney']; //订单总金额,显示在支付宝收银台里的“应付总额”里我的支付页面也很简单的,是这样:<input type="text" name="alimoney" value="100.00" />
<input type="hidden" name="pay_bank" value="directPay">
<input type="hidden" name="aliorder" value="会员充值">
<input type="hidden" name="alibody" value="xxx">
<input type="submit" class="ui-btn2" value="提交"  />
看上面的错误日志,意思是说从支付页面过来,没有收到post值?明明有值的,这个究竟是怎么回事呢?

解决方案 »

  1.   

    apache 日志里有php的错误内容这个正常.至于你这个错误本身其实它仅仅是一个提示。解决的方法是在各个变量前做一个判断例如 if (isset($_POST['aliorder'])){
    $subject = $_POST['aliorder']; 
    }即可
      

  2.   


    谢谢,你这个判断是说,如果post过来的aliorder为空的话,就赋值给$subject?是不是反了?
      

  3.   


    如果是有!的话就符合你现在说的方向,注意看,并没有。
    另外也不是判断是否为空...
    isset — 检测变量是否设置