質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

3932閲覧

掲示板[frameset/リロード]

b1ackc0ffee

総合スコア267

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/07/09 03:23

編集2015/07/09 05:29

イメージは2chとかチャットなどの掲示板にしたいのですが、
faramesetのうまい使い方がわかりません。
2分割にしたいのに、送信ボタンを押すたびに分割数が増えていきます。
どこをどう直せばよいでしょうか。
お手数おかけしますが、宜しくお願い致します。

[現状]やりたいことと問題点
・送信ボタンを押下する度に、表示画面が出てしまう(何分割もされる)
・frameset使ったときに、下の画面がリロードされない。
・過去の書き込み情報で、投稿ごとに線が引かれますが、左側が短くなっている。

[画面構成]
・ログイン画面 login.php
・ログイン後の表示画面 frameset.php
→上段(名前/本文入力フォーム/送信ボタン) guest_input.php
→→入力された情報をファイルに新しい順に保存するプロフラム guest_write.php
→下段(過去の書き込み表示) guest_read_ASC.php

[画面遷移]
┌→上フレーム(guest_input.php)

login.php→frameset.php―

└→下フレーム(guest_read_ASC.php)

[試した方法]
<meta http-equiv="refresh" content="1;URL=http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/').'/frameset.php">を書き込んで指定した秒数後に自動リロード
<a href="guest_read_ASC.php" target="frame2">
→下の画面に <meta http-equiv="refresh" content="3">を入力しても、送信ボタンを押したら分割してしまう。
→frameset.phpをリロードすると、入力する時間が無くなってしまう。

[参考]
■DOCTYPE宣言でframeの使用が許されているのは、XHTMLFramesetのみ?
■フレームをやめるか、JavaScriptを使うしかない?
■JavaScriptでないと無理というより、本当にframesetやJavaScriptが必要なのか?
■CSSのoverflow?
■リロードではなくwindow.open?
//カオス・・・\(。Q゜)/

![現状]WIDTH:584

input

lang

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8" /> 5 <title>NEW掲示板</title> 6</head> 7<body> 8 <h3>ようこそNEW掲示板へ</h3> 9 <form method="POST" action="guest_write.php"> 10 <div id="container"> 11 <label for="name">名前:<label> 12 <input type="text" id="name" name="name" size="20" maxlength="30" /> 13 </div> 14 <div id="container"> 15 <label for="body">本文:</label> 16 <input type="text" id="body" name="body" size="70" maxlength="255" /> 17 </div> 18 <input type="submit" value="送信" /> 19</form> 20</body> 21</html> 22

write

lang

1<?php 2// 一時ファイルに新しいデータを送り、そのファイルに既にあるデータを追記し、bbs.datにリネーム 3$old_file = fopen('bbs.dat', 'rb'); 4$new_file = fopen('bbs.tmp', 'wb'); 5flock($old_file, LOCK_SH); 6flock($new_file, LOCK_EX); 7fputs($new_file, date('Y年 m月 d日 H:i:s')."\t"); 8fputs($new_file, $_POST['name']."\t"); 9fputs($new_file, $_POST['body']."\n"); 10$name = ( isset($_POST['name']) && is_string($_POST['name']) )? $_POST['name'] : '' ; 11$body = ( isset($_POST['body']) && is_string($_POST['body']) )? $_POST['body'] : '' ; 12// fputs→一時(NEW)ファイルの先頭に新しい情報を書き込み 13// 日時<\t>名前<\t>本文<\n>が横並びになった行が一行ずつ改行され書き込まれていく 14while ($row = fgets($old_file)) { 15 fputs($new_file, $row); 16} 17// while→bbs.dat(OLD)の内容をbbs.tmp()に書き込み 古い情報を新しいファイルに追記 18flock($new_file, LOCK_UN); 19flock($old_file, LOCK_UN); 20fclose($new_file); 21fclose($old_file); 22unlink('bbs.dat'); 23rename('bbs.tmp', 'bbs.dat'); 24header('Location: http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/').'/frameset.php'); 25

read

lang

1<?php require_once './Encode.php'; ?> 2<!DOCTYPE html> 3<html> 4<head> 5 <meta charset="utf-8" /> 6 <meta http-equiv="refresh" content="3"> 7</head> 8<body> 9 <h3>過去の書き込み情報</h3> 10 <?php 11 $file = @fopen('bbs.dat', 'rb') or die('bbsファイルが開けませんでした'); 12 flock($file, LOCK_SH); 13 print('<dl>'); 14 /* ここから--ファイルを行単位に読み込み-- */ 15 while ($row = fgetcsv($file, 1024, "\t")) { 16 print('<dt>'.e($row[1])); 17 print('('.e($row[0]).')</dt>'); 18 print('<dd>本文:'.e($row[2]).'<hr /><dd>'); 19 } 20 print('<dl>'); 21 flock($file, LOCK_UN); 22 fclose($file); 23 ?> 24<body> 25</html> 26

frameset

lang

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8" /> 5 <link rel="stylesheet" type="text/css" href="bbs.css"> 6</head> 7<frameset rows="15%,*"> 8 <frame src="guest_input.php" name="frame1"> 9 <frame src="guest_read_ASC.php" name="frame2"> 10</frameset> 11</html>

------------------------------------------------------------以上
掲示板シリーズ続くと思いますが宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

フレーム懐かしいですね。最近ではあまり使われません。

guest_input.phpのformタグに target="frame2" を追加してやります。
これで下フレームに対してPOSTされます。

それからguest_write.phpのリダイレクトはframesetではなくguest_read_ASC.phpにしてやってください。

それからリアルタイム性が必要なければ特にリロード処理は不要だと思います。

投稿2015/07/09 07:19

naga3

総合スコア1293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

b1ackc0ffee

2015/07/10 01:18

あまり使われないんですね! なぜでしょう? そんなこと教えてくれる人がいなかったので、嬉しいです。 有難うございます★ 2か所直したら、期待通りの動作になりました! まだ流れが整理できていないですが、勉強したいと思います。 あとはログイン後の画面遷移です^^
naga3

2015/07/10 01:29

フレームはブックマークしたときの構成が一意に決まらなかったり、検索したときにフレームの内部のみ表示されるなどの問題点があったので廃れたのだと思います。 自分はフレームはシンプルなので好きなんですが。
b1ackc0ffee

2015/07/10 05:05

なるほど、そうなんですね★★ 代わりに何を使うのがスタンダードなのでしょうか?^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問