Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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 为什么我的foreach循环不工作?_Php_Codeigniter_Paypal - Fatal编程技术网

Php 为什么我的foreach循环不工作?

Php 为什么我的foreach循环不工作?,php,codeigniter,paypal,Php,Codeigniter,Paypal,我正在尝试在下一页中运行foreach循环,以从codeigniter cart库中获取所有项目的名称、价格和数量。但我的foreach循环在下一页中不起作用?请帮助 <?php $cdata = $this->cart->contents(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh

我正在尝试在下一页中运行foreach循环,以从codeigniter cart库中获取所有项目的名称、价格和数量。但我的foreach循环在下一页中不起作用?请帮助

 <?php
    $cdata = $this->cart->contents(); ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Website Payment Standard</title>
    <script type="text/javascript" language="javascript">
    function paypal_submit()
    {

        var actionName='https://www.sandbox.paypal.com/cgi-bin/webscr';

        document.forms.frmOrderAutoSubmit.action=actionName;
        document.forms.frmOrderAutoSubmit.submit();
    }
    </script>
    </head>
    <!--onload="paypal_submit();"-->
    <body onload="paypal_submit();" >
    <form style=" padding:0px;margin:0px;" name="frmOrderAutoSubmit" method="post" >


        <input type="hidden" name="upload" value="1">
            <input type="hidden" name="cmd" value="_xclick">
            <input type="hidden" name="business" value="sumon_goran@yahoo.com">

            <?php foreach ($cdata as $v_cdata) { ?>

            <input type="hidden" name="quantity" value="<?php echo $v_cdata['qty']; ?> " >
            <input type="hidden" name="item_name" value="<?php echo $v_cdata['name']; ?> " >
            <input type="hidden" name="amount" value="<?php echo $v_cdata['price']; ?> " >
            <?php } ?>



            <input type="hidden" name="rm" value="2" />
            <input TYPE="hidden" name="address_override" value="0">



            <input type="hidden" name="address1" value="<?php echo $billing_address;?>">
            <input type="hidden" name="address2" value="<?php echo $shipping_info->address; ?>">
            <input type="hidden" name="city" value="<?php echo $shipping_info->city; ?>">
            <input type="hidden" name="zip" value="<?php echo $shipping_info->zip_code; ?>">
            <input type="hidden" name="phone" value="<?php echo $shipping_info->phone; ?>">



        </form>
    </body>
    </html>

网站支付标准
函数paypal_submit()
{
var actionName=https://www.sandbox.paypal.com/cgi-bin/webscr';
document.forms.frmOrderAutoSubmit.action=actionName;
document.forms.frmorderautommit.submit();
}
试试这个

<?php foreach ($cdata as $key=>$v_cdata) { ?>

            <input type="hidden" name="quantity" value="<?php echo $v_cdata['qty']; ?> " >
            <input type="hidden" name="item_name" value="<?php echo $v_cdata['name']; ?> " >
            <input type="hidden" name="amount" value="<?php echo $v_cdata['price']; ?> " >
            <?php } ?>


如果您已经给出了数组,那么它应该可以工作。我已经用你提供的数据进行了测试

您可以在此处看到实时演示:



打印(cdata美元);你得到了什么?如果我在购物车中添加了2个产品,我在数组中得到了2个结果,我确信$cdata中没有问题。问题在foreach循环中。你可以在你的问题中添加数组数据吗?我在回显打印($cdata)数组([c4ca4238a0b923820dcc509a6f75849b]=>数组([rowid]=>c4ca4238a0b923820dcc509a6f75849b[id]=>1[qty]=>1[price]=>50000[name]=>Sony Xperia[subtotal]=>50000[c81e728d9d4c2f636f067f89cc14862c]=>Array([rowid]=>C81E728D9D4C2F636F0679CC14862C[id]=>2[qty]=>1[price]=>35000[name]=>Samsung Galaxy[subtotal]=>35000])当它在paypal页面重定向时,它不工作。如果我打印($cdata),它会显示两个值,但当它重新加载到sandbox.paypal页面时,它只显示一个产品。不知道为什么会这样?@Sumon:你检查过你的html吗?我想会有一些问题,因为你有相同名称的不同输入字段。在同一html表单中,每个输入字段应该有不同的名称。我找不到任何人。你能告诉我你有哪个输入字段,并且在相同的表单中有相同的名称(项目名称)。我运行foreach循环,这就是为什么这些输入字段名称相同。
<?php 
$cdata = array ( 'c4ca4238a0b923820dcc509a6f75849b' =>
array ( 'rowid' => 'c4ca4238a0b923820dcc509a6f75849b ','id' => 1 ,'qty' => 1, 'price' => 50000 ,'name' => 'Sony Xperia', 'subtotal' => 50000 ),
    'c81e728d9d4c2f636f067f89cc14862c' =>
    array ( 'rowid' => 'c81e728d9d4c2f636f067f89cc14862c', 'id' => '2', 'qty' => 1 ,'price' => 35000, 'name' => 'Samsung Galaxy', 'subtotal' => 35000 )
); ?>
<?php foreach ($cdata as $v_cdata) { ?>

    <input type="hidden" name="quantity" value="<?php echo $v_cdata['qty']; ?> " >
    <input type="hidden" name="item_name" value="<?php echo $v_cdata['name']; ?> " >
    <input type="hidden" name="amount" value="<?php echo $v_cdata['price']; ?> " >
<?php } ?>
<input type="hidden" name="quantity" value="1 " >
<input type="hidden" name="item_name" value="Sony Xperia " >
<input type="hidden" name="amount" value="50000 " >

<input type="hidden" name="quantity" value="1 " >
<input type="hidden" name="item_name" value="Samsung Galaxy " >
<input type="hidden" name="amount" value="35000 " >