C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 【PHP】空室状況ページの更新


(過去ログ 83 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■49348 / inTopicNo.1)  【PHP】空室状況ページの更新
  
□投稿者/ けい (5回)-(2010/04/30(Fri) 23:57:13)

分類:[.NET 全般] 

こんにちは、いつもお世話になっております。

現在PHPで空室状況の情報設定ページとお知らせページを作成しています。
情報設定ページは、一定の管理者のみが入れるページで、お知らせページは一般ユーザが見るだけのページになっています。
そこで下記2点で問題が発生し、躓いてしまって困っています。


1.情報設定ページで情報の更新した後、お知らせページを覗くと
空き部屋が情報更新されているのですが、他のメニュー(違うページ)に飛んだ後にお知らせ
ページに戻ってくると空き部屋が0室に戻ってしまうという状態になってしまいます。

2.お知らせページに記載されている現在の空き部屋のデータを、情報設定ページの場所でも
「現在の空き部屋データ」として表示させているのですが、全て「室」と表示されて「0室」
とも表示されずにいます。


ソースは、以下の通りです。

■お知らせページ(vacancy-info.php)
<?php
////vacancy-info.phpに表示されている空室の値を読み込む
//ファイルオープン
$pointer=fopen("data/room-info.txt", "r");
//データを取り出す
$data = fgets($pointer);
//スプリット
$room=split(",",$data);
//ファイルクローズ
fclose($pointer);

$_SESSION["room1"]=$room[0];
$_SESSION["room2"]=$room[1];
$_SESSION["room3"]=$room[2];
$_SESSION["room4"]=$room[3];
$_SESSION["room5"]=$room[4];
$_SESSION["room6"]=$room[5];


//初期値を受け取っていない場合
if($_POST['room1']==null && $_POST['room2']==null && $_POST['room3']==null && $_POST['room4']==null && $_POST['room5']==null && $_POST['room6']==null){	
		//セッションデータを保存する
		$_SESSION["room1"]=0;
		$_SESSION["room2"]=0;
		$_SESSION["room3"]=0;
		$_SESSION["room4"]=0;
		$_SESSION["room5"]=0;
		$_SESSION["room6"]=0;
	}else{
		//vacancy-infomaneger.phpで設定した空室の値を受け取る
		$room1=$_POST['room1'];
		$room2=$_POST['room2'];
		$room3=$_POST['room3'];
		$room4=$_POST['room4'];
		$room5=$_POST['room5'];
		$room6=$_POST['room6'];
	
		//セッションデータを保存する
		$_SESSION["room1"]=$room1;
		$_SESSION["room2"]=$room2;
		$_SESSION["room3"]=$room3;
		$_SESSION["room4"]=$room4;
		$_SESSION["room5"]=$room5;
		$_SESSION["room6"]=$room6;
	}	
?>

<HTML内>
空室<?php print $_SESSION["room1"]?>室
・
・
・
<HTML内>

<?php
	//vacancy-info.phpに表示されている空室の値を書き込む
	$data="$room1,$room2,$room3,$room4,$room5,$room6";
	//ファイルオープン
	$pointer=fopen("data/room-info.txt", "w");
	//ファイルロック
	flock($pointer, LOCK_EX);
	//書き込み処理
	fputs($pointer, $data);
	//ファイルロック解除
	flock($pointer, LOCK_UN);
	//ファイルクローズ
	fclose($pointer);
?>

■情報設定ページ(vacancy-infomaneger.php)
<?php
	////vacancy-info.phpに表示されている空室の値を読み込む
	//ファイルオープン
	$pointer=fopen("data/room-info.txt", "r");
	//データを取り出す
	$data = fgets($pointer);
	//スプリット
	$room=split(",",$data);
	//ファイルクローズ
	fclose($pointer);
?>

<HTML内>
現在の空室 <?php print "$room[0]\n"?>部屋
・
・
・
<HTML内>


色々試してみているのでソースがおかしな場所もあるかと思います。
何方かお手数ではありますが、ご教授お願いします。

引用返信 編集キー/
■49352 / inTopicNo.2)  Re[1]: 【PHP】空室状況ページの更新
□投稿者/ もりお (214回)-(2010/05/01(Sat) 07:17:22)
No49348 (けい さん) に返信

> 他のメニュー(違うページ)に飛んだ後にお知らせページに戻ってくると空き
> 部屋が0室に戻ってしまうという状態になってしまいます。

if($_POST['room1'] == null && ...){	
  //セッションデータを保存する
  $_SESSION["room1"] = 0;
  ...
  
$_POST が null であれば $_SESSION に 0 をセットするという記述をされてい
るからではないでしょうか。

> 全て「室」と表示されて「0室」とも表示されずにいます。

room-info.txt にデータは書き込まれているのでしょうか。

引用返信 編集キー/
■49358 / inTopicNo.3)  Re[2]: 【PHP】空室状況ページの更新
□投稿者/ けい (6回)-(2010/05/01(Sat) 13:29:00)
もりお さん

返信有難うございます。

> $_POST が null であれば $_SESSION に 0 をセットするという記述をされてい
> るからではないでしょうか。

確かに・・・!!それは失念でした。

>>全て「室」と表示されて「0室」とも表示されずにいます。
>
> room-info.txt にデータは書き込まれているのでしょうか。
>

書き込みは、されているのは確認済みです。(maneger.phpからinfo.phpで確認済み)
ただ先程の失念していた箇所で0を入れてまた書き込みしてしまうのでそこで、txt内の書き込んだ内容が初期化されてしまうようです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -