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