我的网站有点问题。我有phpbb集成到我的网站和主页上的登录表单。此表单需要执行两个不同的操作。它首先需要运行ucp.php(登录到phpbb)以及login.php(隐藏表单并在主屏幕上添加控制面板)。它们都是自己工作的,我只需要一种方法在用户登录时将它们放在一起。我已经研究了一段时间而无法找到解决方案。谢谢你的进步,Josh
我需要结合这个
<form action="./forums/ucp.php?mode=login" method="post" enctype="multipart/form-data">
用这个
<form action="login.php" method="post" enctype="multipart/form-data">
答案 0 :(得分:1)
如果你必须“合并”这样的东西,我认为你的代码中存在严重的设计问题,但无论如何:
只需创建一个新文件,即。 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)
不幸的是,我无法给出更多建议,因为你想要做的事情可能更复杂,然后可以在这里轻松回答。
答案 1 :(得分:0)
你可以尝试用ajax欺骗。这是一个应该与jquery一起使用的示例: 我不确定preventDefaut()不会让我们成为问题,我们仍然可以使用.submit()。如果它不工作。尝试将整个功能放入功能,删除preventDefault并将此功能绑定到提交按钮。
<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>