【问题标题】:PHP Script to execute multiple URLs?执行多个 URL 的 PHP 脚本?
【发布时间】:2008-12-02 19:36:42
【问题描述】:

是否有一种 php 脚本可以运行一系列 URL,然后将用户引导到最终目的地?它的用途是: 在没有强大的“愿望清单”功能的网站上创建结帐车。

脚本运行一系列“将商品添加到购物车”网址,然后最终目的地将用户带到他们为他们挑选的产品的购物车。

【问题讨论】:

    标签: php url e-commerce


    【解决方案1】:

    是的,你可以用 ajax 做到这一点。

    使用jQuery 执行您的ajax 请求。

    例如

    $.get("http://mywebsite.com/json/cart_add.php?pid=25");
    $.get("http://mywebsite.com/json/cart_add.php?pid=27");
    

    如果您使用会话,那么它将被添加到当前会话中,前提是它位于同一域中。

    【讨论】:

    • 这很漂亮。有安全问题需要担心吗?我想不出来,但我不一定最擅长弄清楚它们。
    • 不是真的,他们必须劫持你的会话 ID,如果你从不通过 url 传递它应该没问题。
    • 因此,只要 cart_add.php 得到良好的响应,就不用担心。这种攻击不适用,因为您可以减轻响应,对吧? haacked.com/archive/2008/11/20/…
    • 如果您的页面在任何请求参数(POST 和 GET)上都受到 SQL 注入保护,并且您不接受任何允许其他人劫持的内容,那么这与访问地址中的页面没有什么不同酒吧。您也可以为此使用 iframe,但这就是 ajax 的需要!
    • 酷。谢谢你。那我将在我的项目中尝试你的方法。 +1
    【解决方案2】:

    http://php.net/curl

    编辑: 至于通过 cURL 管理远程会话,这取决于远程站点如何跟踪会话。有些使用 cookie(cURL 支持),有些会生成一个 sessionid 令牌,您必须在后续请求中将其作为参数或在 http 标头中传回。

    PHP 的 cURL API 的文档非常少,因此您可能需要寻找更完整的教程。我通过谷歌搜索“curl cookie 教程”找到了以下内容:

    http://coderscult.com/php/php-curl/2008/05/20/php-curl-cookies-example/

    【讨论】:

    • 这将如何工作 - 你会将用户的会话 ID 传递给 curl 吗?对于购物车,脚本需要查看最终用户的会话数据。仅使用 curl 不会在每个请求上创建一个新会话,因为它是从 PHP 而不是用户的浏览器请求的?
    【解决方案3】:

    这真的取决于您网站的具体情况。

    如果是oo,你可以一个接一个地调用相关的方法来添加物品到篮子里吗?或者您可以使用包含来做到这一点?

    或者可能是该站点有一些您可以使用的包含文件?

    或者它可能有一种机制可以在将商品添加到您可以利用的购物篮后重定向用户?

    如果没有,我在写作时出现了其他答案,这些答案提出了使用 javascript 或 curl 实现此目的的有效方法。

    【讨论】:

      【解决方案4】:

      好的,我将尝试使用 ajax 建议,但我不确定代码是如何使用 get 和 post 格式化的。这是我开始的,它没有获取 url(我换了通用 url 进行演示);

       <html>   
       <head>                                        
       <script type="text/javascript" src="jquery-1.2.6.min.js"></script>          
       <script type="text/javascript">      
       $(document).ready(function() {    
       $("a").click(function(){    
       $.get("http://www.store.com/item4");    
       $.get("http://www.store.com/item5");
       alert("Items Added, Now Redirecting");           
       });    
       });                                                         
       </script>                                                         
       </head>  
       <body>
       <a href="">Link</a>                                                                                               
       </body>                                                                        
       </html>
      

      【讨论】:

      • 您的目标脚本在将商品添加到购物车后会输出什么?
      • 没什么,我添加了一条帖子,但没有帮助 $.get("store.com/item5"); $.post("store.com/cart.php");
      • 将一些输出代码放入将商品添加到购物车的脚本中。然后使用类似这样的东西 $.get("store.com/item5", function(data){ alert("Data Loaded: " + data); });从调用 $.get 的页面查看您的输出
      • 嗯,我试了一次,但无济于事。你知道在任何地方是否有这种事情的有效例子吗?
      • 您应该直接访问您正在尝试的网址,以确保您的脚本中没有错误。还要确保您在 Opera 或 Firefox 中进行调试,因为 IE 对于 javascript 调试很糟糕,除非您安装了一些特定的工具。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多