[英]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.