スレッド表示 | フラット表示〕 全トピック 924 件中 399 番目 次≫ ≪前

フレーム間のsubmitボタンの判定

created: 2005-08-02 01:02 | modified: 2005-08-09 00:13 | reply: 5

[2434] target="_top"

user: ゆうじ | created: 2005-08-06 11:59
parent.ptset1.location.reload();

↑これは JavaScript でしょうか?
PHPはサーバーサイドなので残念ながら
このようにJavascriptを書いても動作しません。
PHPはサーバサイド、Javascriptはクライアントサイド、
という関係をお忘れなく。


さて、HTML の target属性 を使えば
思っていらっしゃる動作になると思いますよ。

処理結果がわかりやすいよう、
フレームをひとつ増やしたサンプルを書いてみました。

ポイントは、
formタグにページ全体を指し示す target="_top" を入れることと、
update.php で様々な処理後、最終的に frame.html に飛ばすこと。
これで常にページ全体がリロードされるようになります。


frame.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<title>フレーム間の値共有</title>
</head>
<frameset rows="20%,*">
<frameset cols="50%,*">
<frame src="a.php">
<frame src="b.php">
</frameset>
<frame src="c.php">
</frameset>
</html>

a.php
<?php
session_start();
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<title>左フレーム</title>
</head>
<body>
<h5>左フレーム</h5>
<form method="post" action="update.php" target="_top">
<input type="submit" name="a" value="1">
<input type="submit" name="a" value="2">
<input type="submit" name="a" value="3">
<input type="submit" name="a" value="4">
<input type="submit" name="a" value="5">
</form>
<p>
選択:<?php echo $_SESSION['submit']['a'] ?>
</p>
</body>
</html>

b.php
<?php
session_start();
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<title>右フレーム</title>
</head>
<body>
<h5>右フレーム</h5>
<form method="post" action="update.php" target="_top">
<input type="submit" name="b" value="1">
<input type="submit" name="b" value="2">
<input type="submit" name="b" value="3">
<input type="submit" name="b" value="4">
<input type="submit" name="b" value="5">
</form>
<p>
選択:<?php echo $_SESSION['submit']['b'] ?>
</p>
</body>
</html>

c.php
<?php
session_start();
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<title>メニュー選択</title>
</head>
<body>
<h5>メニュー選択結果</h5>
<p>
選択: <?php echo $_SESSION['submit']['a'], ' - ', $_SESSION['submit']['b'] ?>
</p>
</body>
</html>

update.php
<?php
session_start();

if ($_POST['a']) {
$_SESSION['submit']['a'] = $_POST['a'];
}
if ($_POST['b']) {
$_SESSION['submit']['b'] = $_POST['b'];
}

if ($_SESSION['submit']['a'] && $_SESSION['submit']['b']) {
// ここにデータ更新処理
}

header('Location: frame.html');
exit();
?>
Parent: 2433  reply: 2437 返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 924 件中 399 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑