繁体   English   中英

一种表格/提交两种动作

[英]One Form/Submit Two Actions

我的网站有问题。 我已经将phpbb集成到我的网站中,并在主页上登录了表单。 该表格需要执行两个不同的动作。 它首先需要运行ucp.php(登录到phpbb)以及login.php(隐藏表单并在主屏幕上添加控制面板)。 它们都可以单独工作,当用户登录时,我只需要一种将它们组合在一起的方法。我已经研究了一段时间,但找不到解决方案。 预先感谢,乔希

我需要结合一下

<form action="./forums/ucp.php?mode=login" method="post" enctype="multipart/form-data"> 

有了这个

<form action="login.php" method="post" enctype="multipart/form-data"> 

我认为,如果您必须“合并”这样的内容,那么代码中就会出现严重的设计问题,但是无论如何:

只需创建一个新文件即可。 post_handler.php并在其中抛出以下代码:

<?php
include('forums/upc.php');
include('login.php');
?>

将其放置在与login.php相同的目录中。

然后调整表格以指向post_handler.php?mode=login

当然,像这样合并文件可能会导致疯狂的意外结果。

另一个选择(尽管更复杂)是使用login.php作为操作,并向其中的forums/ucp.php发出curl请求。 (在php.net文档中搜索Curl)

不幸的是,我无法提供更多建议,因为您要尝试做的事情可能比此处容易回答的问题更为复杂。

好吧,您可以尝试使用Ajax。 这是一个应该与jquery一起使用的示例:不知道是否preventDefaut()在这里不会给我们带来麻烦,我们仍然可以在其上使用.submit()。 如果不行。 尝试将全部内容放入函数中,删除preventDefault并将此函数绑定到Submit按钮。

<form id="form_id" action="login.php" method="post" enctype="multipart/form-data">
User name: <inputy type="text" id="username" name="username" />

</form>

<script type="text/javascript">
    $(function() {
      //we prevent normal form submit
      $('#form_id').preventDefault();
      var data = {} ;
          //here u build data u want send by taking it from form field by field
      //example
      data['username'] = $('#username');

          //and you send this data via ajax to your upc script
          $.ajax({
        type: "POST",
        url: '/forums/ucp.php?mode=login',
        data: data,
                //in case of succes we send form normal way
        success: function( xhr ) { $('#form_id').submit(); },
        dataType: String
        });

    });

<script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM