両方の iframe フォームが独立して (非同期で) 動作する必要がありますが、両方のフォームを同時に送信すると、2 番目の iframe レポート「致命的なエラー: C:\wamp\www\iframe2.php の 2 行目で最大実行時間が 30 秒を超えました」 " (iframe1 クエリが長いプロセスの場合) または 2 番目の iframe は、最初のプロセスが完了した後にデータを返します (iframe1 クエリが短いプロセスの場合)。ここで、ユーザーのログインを検証するためにセッションを保持する必要があります。私はあなたの助けが必要です、私の友達!ありがとう
index.php
<html>
<head>
<title></title>
</head>
<body>
<iframe src="iframe1.php" width="300" height="400"></iframe>
<iframe src="iframe2.php" width="300" height="400"></iframe>
</body>
</html>
iframe1.php (クエリ結果を返す)
<?php
session_start();
if($_SESSION['user'])
$data="Valid user";
else
header("location: login.php");
set_time_limit(120);
require_once("config.php"); //db conections
if($_POST)
{
//query (long process)
$data.= ""; // concatenated string with query results
}
?>
<html>
<head>
<title></title>
</head>
<body>
<?php echo session_id();?>
<form method="post">
ini:<input type="text" name="var1" value="" /><br />
fin:<input type="text" name="var2" value="" /><br />
<input type="submit" value="Send" />
</form>
Result:<br />
<?php
if(isset($data))
echo session_id()."<hr>".$data;
?>
</body>
</html>
iframe2.php (123456 のみを返す)
<?php
session_start();
if($_SESSION['user'])
$data="Valid user";
else
header("location: login.php");
if($_POST)
{
$data = "123456";
}
?>
<html>
<head>
<title></title>
</head>
<body>
<?php echo session_id();?>
<form method="post">
<input type="text" name="inpt" />
<input type="submit" value="frame2" />
</form>
Result:<br />
<?php
if(isset($data))
echo session_id()."<hr>".$data;
?>
</body>
</html>