簡體   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