Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 codeigniter和pay pal-点击后不会发生任何事情_Php_Jquery_Codeigniter_Paypal - Fatal编程技术网

Php codeigniter和pay pal-点击后不会发生任何事情

Php codeigniter和pay pal-点击后不会发生任何事情,php,jquery,codeigniter,paypal,Php,Jquery,Codeigniter,Paypal,我正在使用codeigniter codeigniter 2.0+、PHP5.3.13和Apache2.2.22的PayPal插件。这个插件过时了吗 这就是我所拥有的和问题所在 private function getPayPalForm( $first_name, $last_name, $amount, $registration_id ){ $this->load->library('Paypal_Lib'); $this->paypal_

我正在使用codeigniter codeigniter 2.0+、PHP5.3.13和Apache2.2.22的PayPal插件。这个插件过时了吗

这就是我所拥有的和问题所在

private function getPayPalForm( $first_name, $last_name, $amount, $registration_id ){
    $this->load->library('Paypal_Lib');        
    $this->paypal_lib->add_field('return', site_url('/register/success/'));
    $this->paypal_lib->add_field('cancel_return', site_url('/register/cancel/'));
    $this->paypal_lib->add_field('notify_url', site_url('/register/ipn/'));
    $this->paypal_lib->add_field('custom', $registration_id);
    $this->paypal_lib->add_field('item_name', 'Registration ID - '.$registration_id." for ".$first_name." ".$last_name);
    $this->paypal_lib->add_field('item_number', $registration_id );
    $this->paypal_lib->add_field('amount', $amount);
    return $this->paypal_lib->paypal_form();
}
这是从插件调用的函数

function paypal_form($form_name='paypal_form') 
{
    $str = '';
    $str .= '<form method="post" action="'.$this->paypal_url.'" name="'.$form_name.'"/>' . "\n";
    foreach ($this->fields as $name => $value)
        $str .= form_hidden($name, $value) . "\n";
    $str .= '<p>'. $this->submit_btn . '</p>';
    $str .= form_close() . "\n";

    return $str;
}
函数paypal\u form($form\u name='paypal\u form')
{
$str='';
$str.=''“\n”;
foreach($this->fields as$name=>$value)
$str.=form_hidden($name,$value)。“\n”;
$str.='。$this->submit_btn.

'; $str.=form_close().“\n”; 返回$str; }
所有信息都显示在自定义视图的正确位置。这就是这个观点

<div>
       <div class="innerwidget">
        <div class="bubble">
            <div class="rectangle"><span>Make Payment</span></div>
            <div class="triangle-l"></div>
            <div class="triangle-r"></div>
            <div class="info">
                <p>Hari Om <?php echo $firstname; ?>, you are almost done.</p>
                <p> To make your payment, please click the Pay-Pal button below.</p>

<div class="form-button-container">
    <?php echo( $paypal_form ); ?>
    <p style="font-size: 12px; color:blue;"> <b>Check out with Paypal to pay by Paypal Account or credit card.</b></p>
</div>  

            </div>
        </div>
     </div> 
</div> 

付款
Hari Om,你差不多完成了

要付款,请单击下面的Pay Pal按钮

所有这些都很好,问题是,当我点击按钮时,什么都没有发生。我没有被转发到pay-pal。我正在加载jquery库,这是我的基本模板头部分的一部分。这些库相互冲突吗

这是firebug的输出

<div class="form-button-container">
 <form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr" name="paypal_form"/>
   <input type="hidden" name="rm" value="2" />
  <input type="hidden" name="cmd" value="_xclick" />
  <input type="hidden" name="currency_code" value="USD" />
   <input type="hidden" name="quantity" value="1" />
  <input type="hidden" name="business" value="mymail@gmail.com" />
   <input type="hidden" name="return" value="https://www.mydomain.org/successFunction" />
   <input type="hidden" name="cancel_return" value="https://www.mydomain.org/cancelFunction />
   <input type="hidden" name="notify_url" value="https://www.mydomain.org/ipn" />
   <input type="hidden" name="custom" value="1375" />
  <input type="hidden" name="item_name" value="2013 Annual Banquet - 2 persons" />
   <input type="hidden" name="amount" value="50" />
  <p> <input type="image" name="add" src="https://www.mydomain.org/assets/images/buttons/btn_xpressCheckout.gif" border="0" /></p>
  </form>
  <p style="font-size: 12px; color:red;"> <b>Check out with Paypal to pay by Paypal Account or credit card.</b></p>
</div> 


好的,如果其他人有类似的问题。我使用jQueryAjax发布我的操作。该操作返回HTML,我只是将其清空并附加到正文中大错误我曾经在jquery模式中执行重定向,它工作得非常好。也看到

$.post(“注册/完成”,mydataobject,函数(数据){
//布拉布拉
}); 
现在我所做的就是

$().redirect('<?php echo base_url();?>register/finish', mydataobject);
$().redirect('register/finish',mydataobject);

希望它能帮助有需要的人

我会说,是的,它过时了。它的版权是2006年

我不想简单地插上我自己的东西,但既然你使用的是CodeIgniter,我建议你使用我的。我对它进行了维护,多年来,它对许多不同的开发人员都非常有效

现在,我的库不包括付款标准,这是您在这里使用的,但它确实包括快速结帐(以及几乎所有其他PayPal提供的API),这是标准结帐表单的API版本

快速签出由SetExpressCheckout、GetExpressCheckoutDetails和DoExpressCheckoutPayment组成。这项工作稍微多了一点,但它的局限性比支付标准要小,而且它可以让您在结帐体验中自由地做标准支付集成无法做到的事情

例如,使用支付标准,即使您在PayPal帐户配置文件中启用了自动返回功能,也不能保证用户最终会返回您的网站。重定向需要5-10秒,用户可以(而且经常)在重定向发生之前关闭浏览器


使用快速结帐,用户在完成结帐流程之前将始终返回您的站点,因此您可以更轻松地处理结帐中的事情

除非paypal改变了表单提交的工作方式,否则该库应该可以正常工作。您在“添加”图像上单击的是什么?如果是这样的话,可能是因为当您单击图像时,浏览器不知道该做什么。您可能需要创建一些JS来为其分配操作。请在我尝试编辑中概述的操作后添加提交按钮…不起作用
        $.post( "<?php echo base_url();?>register/finish", mydataobject, function(data){
              //bla bla
        }); 
$().redirect('<?php echo base_url();?>register/finish', mydataobject);