2012-06-25 56 views
0

我在iframe中有幾個登錄頁面,我只想用一種形式發佈登錄憑據,使用相同的用戶名和密碼的各種表單。你如何在同一時間提交2個表格,一個表格在不同的目錄中?

function myform(){document.form1.submit();} < --works

function myform(){/path/to/other_form/login.php.document.form2.submit();} < --doesn't工作

我已經做了類似的東西這個時候所有的形式都是一樣的PHP頁面中,而不是在內部框架,並在服務器上的不同文件夾。

任何建議,將不勝感激。謝謝。

<form id="form1" name="form1" action="thisform.php" method="post"> 
<input type="hidden" name="act" value="login"> 
    <table ... 
    <input name="username" id="username" type="text"/> 
    <input name="password" type="password" id="password"/> 
    <a href="javascript:myform()"/>Login</a></td> 
     .../table> 
</form> 

PHP

<?php 
error_reporting(0); 
session_start(); 
include("config.php"); 
include('editor.php'); 

if(isset($_REQUEST["act"])) { 
if ($_REQUEST["act"]=='logout') { 
     $_SESSION["BLOgLogin"] = ""; 
     unset($_SESSION["BLOgLogin"]); 
} elseif ($_REQUEST["act"]=='login') { 
if ($_REQUEST["username"] == $CONFIG["admin_user"] and $_REQUEST["password"] ==  $CONFIG["admin_pass"]) { 
    $md_sum=md5($CONFIG["admin_user"].$CONFIG["admin_pass"]); 
    $sess_id=$md_sum.strtotime("+1 hour"); 
    $_SESSION["BLOgLogin"] = $sess_id;  
    $_REQUEST["act"]='posts'; 
} else { 
    $message = 'Incorrect login details.'; 
} 
} 
} 
?> 
+1

javascript和html都是客戶端,是什麼讓你認爲這會起作用。停止使用iframe和ob_start/ob_get_contents()來代替頁面,如果它只是一個表單,您也可以只包含它。 –

+0

你遇到的問題是爲什麼(一)幀是壞的,應該避免的許多原因之一。我建議你重新考慮一下你的網頁,並試圖找出如何在沒有任何框架的情況下做到這一點。 – GordonM

+0

那麼你會如何提出這個建議?這是場景;比方說,有一個博客,一個日曆,以及其他更新內容,位於不同的目錄中。所以我想要的只是登錄一次,而不是更新一個,然後登錄到下一個等等。他們不會同時打開。 – PhilG

回答

0

你不能在技術上提交表單以兩頁。網絡使用請求/響應模型,因此您不能提交兩個請求,或者取回兩個響應。然而,你可以排序假這個。你需要做的是創建一個包含你想提交的兩個表單的所有字段的表單。然後,將表單提交到使用cURL對每個表單執行個別請求的自定義頁面,然後將它們合併回一個響應中。以下是cURL文檔:http://php.net/manual/en/book.curl.php

相關問題