<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
	<channel>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<language>ja-jp</language>
		<title>Q&amp;A掲示板</title>
		<link>http://www.phppro.jp/qa/</link>
		<description>PHPプロ！ Q&amp;A掲示板の最新投稿20件</description>
		<pubDate>Fri, 03 Sep 2010 21:10:44 +0900</pubDate>
		<lastBuildDate>Fri, 03 Sep 2010 21:10:44 +0900</lastBuildDate>
		<managingEditor>info@phppro.jp</managingEditor>
		<webMaster>info@phppro.jp</webMaster>
		<copyright>Copyright  All rights reserved.</copyright>
				<item>
			<pubDate>Fri, 03 Sep 2010 21:10:44 +0900</pubDate>
			<title>カテゴリーで分類した上で、更に表示順を指定したい</title>
			<link>http://www.phppro.jp/qa/2852</link>
			<description>MySQLのクエリに関しての質問です。 
 
環境：PHP5、MySQL5.0 
 
現在、ORDER&amp;nbsp;BY&amp;nbsp;CASEを使い「フルーツ」テーブルの表示を、以下の記述で 
①リンゴ 
②みかん 
③なし 
の順に果物の種類でカテゴリー分けして表示させています。 
 
   SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;`フルーツ`  
  ORDER&amp;nbsp;BY&amp;nbsp;CASE&amp;nbsp;`種類`  
  WHEN&amp;nbsp;'リンゴ'&amp;nbsp;THEN&amp;nbsp;0  
  WHEN&amp;nbsp;'みかん'&amp;nbsp;THEN&amp;nbsp;1  
  WHEN&amp;nbsp;'なし'&amp;nbsp;THEN&amp;nbsp;2&amp;nbsp;END    
ここまでは予定通りなのですが、 
ここからさらにそれぞれの果物を「重さ」順に並べたいのですがうまくゆきません。 
 
・希望の表示例 
1.リンゴ(100g) 
2.リンゴ(110g) 
3.リンゴ(120g) 
4.みかん(50g) 
5.みかん(60g) 
6.なし(90g) 
6.なし(95g) 
 
・現在は 
1.リンゴ(110g) 
2.リンゴ(100g) 
3.リンゴ(120g) 
4.みかん(50g) 
…、のような表示がされています。 
 
ASCやDESCを挿入すればできるかと思い試しましたが、文法に誤りがあるようでダメでした。 
可能であれば現在の記述へ追記する形で解決したいのですが、根本的な誤りやよりよい方法があればご指摘いただけないでしょうか。 
 
どうぞよろしくお願いいたします。</description>
			<author>golum</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2852</guid>
		</item>
				<item>
			<pubDate>Fri, 03 Sep 2010 19:10:20 +0900</pubDate>
			<title>ログイン後のユーザーを識別する方法</title>
			<link>http://www.phppro.jp/qa/2851</link>
			<description>あまり詳しくないもので、勉強不足な質問ですみません。 
 
現在、ポータルサイト構築を行っています。 
ログイン画面からログイン後、 
それぞれのユーザーの専用ページに移行する仕組みです。 
 
ログイン後、ユーザページまでは間違いなく進み、 
ユーザーページにログインせずに直接アクセスしようとすると、ログイン画面に 
リダイレクトするようにはなっています。 
 
ただ現状、ログインユーザー同士が、お互いの専用ページにアクセスできてしまっています。 
ログインユーザーを識別し、他のユーザーの専用ページにはアクセスできないようにする 
必要があるのですが、どのように記述を変えれば良いかわからない状況です。 
 
   &amp;lt;?php    
    session_start  ()  ;  
    $_SESSION  &amp;nbsp;=&amp;nbsp;  array  ()  ;    
以下のように、usernameとPWを書き込んだ別ファイルを指定しています 
 
   $data_file&amp;nbsp;=&amp;nbsp;&amp;quot;./d_file.dat&amp;quot;;    
このファイルの中には、以下のように各ユーザーのusernameとPWが記載されています。 
 
member_name1,password1, 
member_name2,password2, 
 
 
以下にコード続きます。 
 
   $error_message&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;;    
   if(!isset($PHP_SELF)){&amp;nbsp;$PHP_SELF&amp;nbsp;=&amp;nbsp;$_SERVER[&amp;quot;PHP_SELF&amp;quot;];&amp;nbsp;}  
  if(!isset($action)){&amp;nbsp;$action&amp;nbsp;=&amp;nbsp;$_POST['action'];&amp;nbsp;}  
  if(!isset($member_name)){&amp;nbsp;$member_name&amp;nbsp;=&amp;nbsp;$_POST['member_name'];&amp;nbsp;}  
  if(!isset($password)){&amp;nbsp;$password&amp;nbsp;=&amp;nbsp;$_POST['password'];&amp;nbsp;}    
   if&amp;nbsp;(isset($_POST[&amp;quot;login&amp;quot;]))&amp;nbsp;{  
  &amp;nbsp;&amp;nbsp;$p_data&amp;nbsp;=&amp;nbsp;file($data_file);  
  &amp;nbsp;&amp;nbsp;$p_flag&amp;nbsp;=&amp;nbsp;0;  
  &amp;nbsp;&amp;nbsp;for($i=0;&amp;nbsp;$i&amp;lt;count($p_data);&amp;nbsp;$i++){  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list($id,$pass)&amp;nbsp;=&amp;nbsp;split(&amp;quot;,&amp;quot;,&amp;nbsp;$p_data[$i]);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($id&amp;nbsp;==&amp;nbsp;$member_name&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;$pass&amp;nbsp;==&amp;nbsp;$password){  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$p_flag++;  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}  
  &amp;nbsp;&amp;nbsp;}  
  if($p_flag&amp;nbsp;&amp;gt;&amp;nbsp;0){  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  
  $_SESSION[&amp;quot;login_name&amp;quot;]&amp;nbsp;=&amp;nbsp;$_POST[&amp;quot;member_name&amp;quot;];   		 
ユーザ専用画面へブラウザをリダイレクトします 
   header(&amp;quot;location:&amp;nbsp;http://〜/$member_name/&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit;      &amp;lt;?php    
    session_start  ()  ;  
    $old_session_id  &amp;nbsp;=&amp;nbsp;  session_id  ()  ;  
    session_regenerate_id  ()  ;  
    unlink  (  session_save_path  ()  &amp;nbsp;.&amp;nbsp;  '  /sess_  '  &amp;nbsp;.&amp;nbsp;  $old_session_id  )  ;  
  &amp;nbsp;  
    if  &amp;nbsp;  (  !  isset  (  $_SESSION  [  &amp;quot;  login_name  &amp;quot;  ]))  &amp;nbsp;  {    
  &amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  header  (  &amp;quot;  location:&amp;nbsp;http://〜/  &amp;quot;  )  ;  
  &amp;nbsp;&amp;nbsp;  exit  ;  
    }    
    ?&amp;gt;    
このようにログイン画面を設置。 
ログインすると、URLの末尾にmember_nameのあるページに遷移します。 
 
ログイン後のページには以下のように記述しています。 
 
この記述では、各ユーザーを識別できていないのでしょうか？ 
 
試行錯誤しておりますが、うまくいきません。 
何卒アドバイスを、よろしくお願いいたします。</description>
			<author>yukosaito</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2851</guid>
		</item>
				<item>
			<pubDate>Mon, 30 Aug 2010 22:07:01 +0900</pubDate>
			<title>mysqlにて日付を検索する方法として</title>
			<link>http://www.phppro.jp/qa/2850</link>
			<description>こんばんわ。ご質問させていただきます。 
 
 
環境としては、PHP5＋MySQLにて稼動しています。 
 
SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;テーブル名&amp;nbsp; 
　WHERE&amp;nbsp;カラムA&amp;nbsp; 
　　BETWEEN&amp;nbsp;DATE_FORMAT(&amp;nbsp;DATE_ADD(カラムA,&amp;nbsp;interval&amp;nbsp;-10&amp;nbsp;day),&amp;nbsp;&amp;#039;%Y-%m-%d&amp;#039;&amp;nbsp;)&amp;nbsp;AND&amp;nbsp;&amp;#039;$day&amp;#039;; 
 
あるカラムに入力されている日付にて検索をかけているのですが、 
どうにかうまくデータを抽出してくれません。 
 
例えば、カラムAに 
2010-08-30 
2010-08-31 
2010-09-01 
2010-09-02 
とデータが入ってたとすると、 
2010-08-31が抽出されないなどなど、、 
 
DATE_FORMATにて日付を整理せずに、 
date(&amp;quot;Y-m-d&amp;quot;,&amp;nbsp;strtotime(&amp;quot;+10&amp;nbsp;day&amp;quot;)) 
にて整理してやるとうまく動くのでデータの値は間違っていないかと思います。 
 
DATE_FORMATにてデータを整理するのはあまりよろしくないのでしょうか？ 
 
お教えいただければ幸いです。</description>
			<author>syanks</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2850</guid>
		</item>
				<item>
			<pubDate>Sat, 28 Aug 2010 20:54:51 +0900</pubDate>
			<title>ウェブページでの絵文字の文字化け</title>
			<link>http://www.phppro.jp/qa/2849</link>
			<description>表題の件につきまして質問します。 
 
現在、CodeIgnitorで、携帯サイトの開発をしております。 
文字コードは、UTF-8でコーディングしておりますが、ドコモ端末で絵文字を表示しようとしても、本来「数数字の１&amp;nbsp;=&amp;gt;　&amp;amp;#63879;&amp;nbsp;」）を表示しようとしても「・」に文字化けしてしまいます。 
 
情報お持ちでしたら、ご教授の程宜しくお願い致します。</description>
			<author>takeHo</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2849</guid>
		</item>
				<item>
			<pubDate>Fri, 27 Aug 2010 17:16:32 +0900</pubDate>
			<title>Ａタグ内の置換</title>
			<link>http://www.phppro.jp/qa/2848</link>
			<description>Ａタグ内の置換について教えてください。 
 
&amp;lt;a&amp;nbsp;href=&amp;quot;../aaa/bbb/ccc/ddd/ee&amp;quot;&amp;nbsp;target=&amp;quot;_blank&amp;quot;&amp;gt; 
 
これを、 
 
&amp;lt;a&amp;nbsp;href=&amp;quot;http://mydomain.com/ccc/ddd/ee&amp;quot;&amp;nbsp;target=&amp;quot;_blank&amp;quot;&amp;gt; 
 
に、置換するにはどうしたら上手く行きますか？ 
 
上記パターンはファイル内に複数存在します。</description>
			<author>taroujirou</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2848</guid>
		</item>
				<item>
			<pubDate>Fri, 27 Aug 2010 14:26:47 +0900</pubDate>
			<title>おろちサーバーで使うmysqlのレコードの中身が文字化けしてしまいます。</title>
			<link>http://www.phppro.jp/qa/2847</link>
			<description>おろちサーバーで使うmysqlのレコードの中身が文字化けしてしまいます。 
 
mysql_query(&amp;quot;SET&amp;nbsp;NAMES&amp;nbsp;utf8&amp;quot;) 
を書いてもエラーになってしまうので、どうしたらいいか困っています。 
 
おろちサーバーでは既にデータベースが作られているので、 
create&amp;nbsp;database&amp;nbsp;set&amp;nbsp;utf8　もできないので、どうしたらいいか困っています。 
 
ちなみに中身が文字化けするというのは 
phpAdminで中身を見るときに文字化けしているということで、データベースから取り出す分には問題ありません。</description>
			<author>urumariku</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2847</guid>
		</item>
				<item>
			<pubDate>Thu, 26 Aug 2010 17:08:22 +0900</pubDate>
			<title>クラス内での関数の呼び出しについて。</title>
			<link>http://www.phppro.jp/qa/2846</link>
			<description>　お世話になっております。PHPでクラスを使ってコードを書いております。 
例えばですが、Perlなどでは関数（サブルーチン）の入れ子は無限にできるようになっていますし、PHPでも関数同士の入れ子はできるようになっておりまりますが、phpのクラスを使った関数（この場合はプロパティーというのでしょうか…？）の入れ子はどんな風に書けばよいでしょうか？ 
　いろいろな可能性はあると思いますが、クラス内に外にある関数を呼び出す方法、または同じクラス内のプロパティーを呼び出して使う方法が知りたいです。</description>
			<author>osamuya</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2846</guid>
		</item>
				<item>
			<pubDate>Thu, 26 Aug 2010 11:09:17 +0900</pubDate>
			<title>orotiサーバーでphpとmysql</title>
			<link>http://www.phppro.jp/qa/2845</link>
			<description>orotiサーバーでphpとmysqlをやろうとしているんですが&amp;nbsp; 
mysql登録して送られてきたユーザ名とパスワードを使って&amp;nbsp; 
 
$con&amp;nbsp;=&amp;nbsp;mysql_connect(&amp;quot;localhost&amp;quot;,&amp;nbsp;&amp;quot;ユーザ名&amp;quot;,&amp;nbsp;&amp;quot;パスワード&amp;quot;&amp;nbsp; 
 
これで接続はうまくいったんですが&amp;nbsp; 
 
mysql_query(&amp;quot;CREATE&amp;nbsp;DATABASE&amp;nbsp;mydb&amp;quot;,&amp;nbsp;$con)&amp;nbsp; 
 
これがうまくいきません。&amp;nbsp; 
 
mysql_error()には&amp;nbsp; 
ユーザー&amp;nbsp;&amp;#039;ユーザ名&amp;#039;@&amp;#039;localhost&amp;#039;&amp;nbsp;の&amp;nbsp;&amp;#039;mydb&amp;#039;&amp;nbsp;データベースへのアクセスを拒否します&amp;nbsp; 
と書かれていたんですが&amp;nbsp; 
 
どこが間違っているでしょうか。</description>
			<author>urumariku</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2845</guid>
		</item>
				<item>
			<pubDate>Sat, 21 Aug 2010 22:32:59 +0900</pubDate>
			<title>symfonyについての質問です。</title>
			<link>http://www.phppro.jp/qa/2844</link>
			<description> 
 
今、会員登録生のサイトをsymfonyで作っていてユーザが会員登録する際に何処からアクセスしてきたユーザが登録してくれたのかを調べる為、当サイトにアクセスしてきた段階でセッションにリファラやランディングページからの場合はランディングページID等をパラメータで渡すつもりなのでIDの保持をしたいと思っています。 
 
frontendすべてのページにアクセスした来た時にセッションの保持をしたいのですがプログラムを記述する場所が解りません。何処に記述すればfrontendすべてに適用されるのでしょうか？ 
 
「apps/frontend/config/frontendConfiguration.class.php」に書く場合はパラメータの受け取り方など教えてもらえると助かります。 
 
質問内容で至ら点があるかと思いますが聞いてもらえればその都度答えますのでよろしくお願いします。</description>
			<author>yu3ho7</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2844</guid>
		</item>
				<item>
			<pubDate>Fri, 20 Aug 2010 02:31:33 +0900</pubDate>
			<title>文字の置き換えや削除について</title>
			<link>http://www.phppro.jp/qa/2843</link>
			<description>このフォーラムを初めて利用するPHP初心者です。 
使い方が間違っていましたらご指摘ください。 
 
ある文字列を置き換えする時、str_replace()&amp;nbsp;や&amp;nbsp;trim()&amp;nbsp;などの使い方は何となく理解できたのですが、他にも色々な方法がありそうで、どの方法がもっとも効率よく処理が早いのか分かりません。 
 
具体的にはURLの置き換えです。 
 
例）Youtubeの動画URLからIDだけ取り出したい 
ｈttp://www.youtube.com/watch?v=hgkklBeFOnR&amp;amp;feature=player_embedded 
 
今の私の知識では、str_replace()を使って、ｈttp://www.youtube.com/watch?v=&amp;nbsp;と　&amp;amp;feature=player_embedded&amp;nbsp;を空白に置き換えるという処理で実現させています。 
 
１．ｈttp://www.youtube.com/watch?v=hgkklBeFOnR&amp;amp;feature=player_embedded 
２．hgkklBeFOnR&amp;amp;feature=player_embedded 
３．hgkklBeFOnR 
 
無駄なことをしている気がしてならないので、何とか人前に出しても恥ずかしくない方法をご教授ください。 
 
・動画IDの長さは一定の範囲ではあるものの不定 
・動画IDの前後の文字列は文字も長さも一定 
・処理の関数にはこだわりません</description>
			<author>Liver</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2843</guid>
		</item>
				<item>
			<pubDate>Thu, 19 Aug 2010 23:07:54 +0900</pubDate>
			<title>料金管理</title>
			<link>http://www.phppro.jp/qa/2842</link>
			<description>PHP初心者です。よろしくお願いします。 
 
申し込み等フォームで前ページに入力したものを 
次ページに表示する事は分かったのですが、 
 
サイト上で何箇所かに表示される各商品の料金を 
管理画面上で一括入力、一括変更するには、メールフォームの応用が可能なのでしょうか。 
 
このようなプログラム(?)を作るには、どのようなコードを書いたらいいのでしょうか。 
 
簡単なサンプルがあれば教えてください。</description>
			<author>lovu_elefant</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2842</guid>
		</item>
				<item>
			<pubDate>Thu, 19 Aug 2010 12:05:06 +0900</pubDate>
			<title>integerの範囲を超える暗黙のfloat型変換について</title>
			<link>http://www.phppro.jp/qa/2841</link>
			<description>PHP5.0.5でSOAPクライアントを利用しています。（サーバーは別） 
SOAPで取得した値にintegerの範囲をこえる整数（マイナスもあり）の項目があり、 
PHPで取得したときにはfloatに変換されてしまいます。 
どうにか文字列で取得したいのですが、どうしたらいいでしょうか。 
 
●RESPONSEのSOAPメッセージ（__getLastResponseHeaders()で表示させたもの） 
・・・ 
   &amp;lt;GetdataResult&amp;gt;  
  &amp;lt;returnCode&amp;gt;0&amp;lt;/returnCode&amp;gt;  
  &amp;lt;dataId&amp;gt;-1689063492100853782&amp;lt;/dataId&amp;gt;  
  &amp;lt;dataD&amp;gt;6805421039091656395&amp;lt;/dataD&amp;gt;  
  &amp;lt;/GetdataResult&amp;gt;   ・・・ 
 
●PHPでvar_dumpした取得した値 
object(stdClass)#1&amp;nbsp;(1)&amp;nbsp;{&amp;nbsp;[&amp;quot;GetdataResult&amp;quot;]=&amp;gt;&amp;nbsp;object(stdClass)#4&amp;nbsp;(3)&amp;nbsp;{&amp;nbsp;[&amp;quot;returnCode&amp;quot;]=&amp;gt;&amp;nbsp;int(0)&amp;nbsp;[&amp;quot;dataId&amp;quot;]=&amp;gt;&amp;nbsp;float(-1.6890634921009E+18)&amp;nbsp;[&amp;quot;dataD&amp;quot;]=&amp;gt;&amp;nbsp;float(6.8054210390917E+18)&amp;nbsp;}&amp;nbsp;}&amp;nbsp; 
 
上記でfloar()となってしまいます。 
誤差をなくしたいので、文字列等、そのまま取得したいのですが、 
どのようにしたらいいでしょうか。 
 
よろしくお願いします。</description>
			<author>fc_abc</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2841</guid>
		</item>
				<item>
			<pubDate>Fri, 13 Aug 2010 13:17:44 +0900</pubDate>
			<title>Google Maps APIとMysqlについての質問</title>
			<link>http://www.phppro.jp/qa/2840</link>
			<description>以前GoogleStaticMapsとMysqlについての質問をしたものです。 
投稿した内容に、自分の家の付近の座標を使っていたことに気づきまして 
とても申し訳なかったのですが、質問を一度削除しました・・・。 
たくさんの返答、大切に読ませていただきました。 
 
HTML部分に書いてしまっているといわれて凄いハッとしました。 
こんなミスばっかりしてたら駄目ですね・・・。 
下記の通りに書き直したところ、きちんとマーカーとラインを表示させることができました。 
 
   $bbb&amp;nbsp;=&amp;nbsp;'http://maps.google.co.jp/maps/api/staticmap?center='.$lats[0].','.$lngs[0].'&amp;amp;size=220x220&amp;amp;zoom=16&amp;amp;markers=label:A|color:0xFF0000|size:mid|'.$lats[0].','.$lngs[0].'&amp;amp;path=weight:5|color:0xFF0000|'.$lats[0].','.$lngs[0].'|'.$lats[1].','.$lngs[1].'|'.$lats[2].','.$lngs[2].'&amp;amp;sensor=false';  
  ?&amp;gt;  
  中略  
  &amp;lt;center&amp;gt;  
  &amp;lt;img&amp;nbsp;src=&amp;quot;$bbb&amp;quot;&amp;gt;&amp;lt;br&amp;gt;  
  &amp;lt;br&amp;gt;  
  &amp;lt;/center&amp;gt;  
  &amp;lt;/html&amp;gt;  
  _GOOGLE;  
  ?&amp;gt;   すでに質問ではないのですが、どうしてもお礼もなしにというのはしたくなかったので・・・。 
掲示板を無駄に消費してしまい申し訳ないです。 
 
たくさんの返答とても助かりました。 
ど素人なもので、ソースを見るといいよなんていうアドバイスが非常にありがたかったです。 
shimixさん、pannnaさん、masashi_kさん、本当にありがとうございました。 
皆さんの返答を参考にもっとよりよくできないか試してみます。 
かさねがさねありがとうございました！</description>
			<author>dakao</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2840</guid>
		</item>
				<item>
			<pubDate>Fri, 13 Aug 2010 13:03:29 +0900</pubDate>
			<title>SESSIONを使用したメールフォームについて</title>
			<link>http://www.phppro.jp/qa/2839</link>
			<description>以前http://www.phppro.jp/qa/2824でご質問させていただき、SESSIONにてメールフォームを作成することにしたのですが、困っているとこがあり、再度ご質問させていただきました。 
 
/*&amp;nbsp;form.php&amp;nbsp;*/ 
   &amp;lt;?php    
  &amp;nbsp;&amp;nbsp;  //セッションを開始    
  &amp;nbsp;&amp;nbsp;  session_start  ()  ;  
    ?&amp;gt;    
  &amp;lt;html&amp;gt;  
  &amp;lt;body&amp;gt;  
  &amp;nbsp;  
  &amp;lt;form&amp;nbsp;action=&amp;quot;complete.php&amp;quot;&amp;nbsp;method=&amp;quot;post&amp;quot;&amp;gt;  
  &amp;lt;dl&amp;gt;  
  &amp;lt;dt&amp;gt;名前&amp;lt;/dt&amp;gt;  
  &amp;lt;dd&amp;gt;  
    &amp;lt;?php  &amp;nbsp;  echo  &amp;nbsp;  $_SESSION  [  '  err_name  '  ]  ;&amp;nbsp;  ?&amp;gt;    
  &amp;lt;input&amp;nbsp;type=&amp;quot;text&amp;quot;&amp;nbsp;size=&amp;quot;20&amp;quot;&amp;nbsp;name=&amp;quot;name&amp;quot;&amp;nbsp;value=&amp;quot;  &amp;lt;?php  &amp;nbsp;  echo  &amp;nbsp;  $_SESSION  [  '  name  '  ]  ;&amp;nbsp;  ?&amp;gt;  &amp;quot;&amp;nbsp;/&amp;gt;  
  &amp;lt;/dd&amp;gt;  
  &amp;lt;dt&amp;gt;コメント&amp;lt;/dt&amp;gt;  
  &amp;lt;dd&amp;gt;  
    &amp;lt;?php  &amp;nbsp;  echo  &amp;nbsp;  $_SESSION  [  '  err_comment  '  ]  ;&amp;nbsp;  ?&amp;gt;    
  &amp;lt;textarea&amp;nbsp;name=&amp;quot;comment&amp;quot;&amp;nbsp;rows=&amp;quot;5&amp;quot;&amp;nbsp;cols=&amp;quot;40&amp;quot;&amp;gt;  &amp;lt;?php  &amp;nbsp;  echo  &amp;nbsp;  $_SESSION  [  '  comment  '  ]  ;&amp;nbsp;  ?&amp;gt;  &amp;lt;/textarea&amp;gt;  
  &amp;lt;/dd&amp;gt;  
  &amp;lt;/dl&amp;gt;  
  &amp;lt;input&amp;nbsp;type=&amp;quot;hidden&amp;quot;&amp;nbsp;name=&amp;quot;contact&amp;quot;&amp;nbsp;value=&amp;quot;  &amp;lt;?php  &amp;nbsp;  $_SESSION  [  '  contact  '  ]  ;&amp;nbsp;  ?&amp;gt;  &amp;quot;&amp;nbsp;/&amp;gt;  
  &amp;lt;input&amp;nbsp;type=&amp;quot;submit&amp;quot;&amp;nbsp;name=&amp;quot;submit&amp;quot;&amp;nbsp;value=&amp;quot;確認&amp;quot;&amp;nbsp;/&amp;gt;  
  &amp;lt;/form&amp;gt;  
  &amp;nbsp;  
  &amp;lt;/body&amp;gt;  
  &amp;lt;/html&amp;gt;    
/*&amp;nbsp;complete.php&amp;nbsp;*/ 
   &amp;lt;?php  &amp;nbsp;&amp;nbsp;  
    //セッションを開始    
    session_start  ()  ;  
  &amp;nbsp;  
    $name  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;  $_POST  [  '  name  '  ]  ;  
    $comment  &amp;nbsp;=&amp;nbsp;  $_POST  [  '  comment  '  ]  ;  
    $contact  &amp;nbsp;=&amp;nbsp;  $_POST  [  '  contact  '  ]  ;  
  &amp;nbsp;&amp;nbsp;  
    if  &amp;nbsp;  (  isset  (  $contact  ))  &amp;nbsp;  {    
    //&amp;nbsp;名前欄をチェック    
    if  &amp;nbsp;  (  empty  (  $name  ))  &amp;nbsp;  {    
    $_SESSION  [  '  err_name  '  ]  &amp;nbsp;=&amp;nbsp;  &amp;quot;  &amp;lt;p&amp;gt;お名前は必須項目です。&amp;lt;/p&amp;gt;  &amp;quot;  ;  
    }    
  &amp;nbsp;  
    //&amp;nbsp;質問・コメント欄をチェック    
    if  &amp;nbsp;  (  empty  (  $comment  ))  &amp;nbsp;  {    
  &amp;nbsp;  $_SESSION  [  '  err_comment  '  ]  &amp;nbsp;=&amp;nbsp;  &amp;quot;  &amp;lt;p&amp;gt;質問・コメントを入力してください。&amp;lt;/p&amp;gt;  &amp;quot;  ;  
    }    
    if  &amp;nbsp;  (  !  count  (  $contact  ))  &amp;nbsp;  {    
    //&amp;nbsp;POSTされたデータとエラーメッセージをセッション変数に保存    
    $_SESSION  [  '  name  '  ]  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;  $name  ;  
    $_SESSION  [  '  comment  '  ]  &amp;nbsp;&amp;nbsp;=&amp;nbsp;  $comment  ;  
    $_SESSION  [  '  contact  '  ]  &amp;nbsp;&amp;nbsp;=&amp;nbsp;  $contact  ;  
  &amp;nbsp;  
    header  (  &amp;quot;  Location:&amp;nbsp;form.php  &amp;quot;  )  ;&amp;nbsp;&amp;nbsp;  
    exit  ;&amp;nbsp;&amp;nbsp;  
    }    
    }    
  &amp;nbsp;  
    ?&amp;gt;    
  &amp;lt;html&amp;gt;  
  &amp;lt;body&amp;gt;  
  &amp;nbsp;  
  &amp;lt;dl&amp;gt;  
  &amp;lt;dt&amp;gt;名前&amp;lt;/dt&amp;gt;  
  &amp;lt;dd&amp;gt;  &amp;lt;?php  &amp;nbsp;  echo  &amp;nbsp;  $name  ;&amp;nbsp;  ?&amp;gt;  &amp;lt;/dd&amp;gt;  
  &amp;nbsp;  
  &amp;lt;dt&amp;gt;内容&amp;lt;/dt&amp;gt;  
  &amp;lt;dd&amp;gt;  &amp;lt;?php  &amp;nbsp;  echo  &amp;nbsp;  nl2br  (  $comment  )  ;&amp;nbsp;  ?&amp;gt;  &amp;lt;/dd&amp;gt;  
  &amp;lt;/dl&amp;gt;  
  &amp;lt;/body&amp;gt;  
  &amp;lt;/html&amp;gt;    
以上のソースなのですが、空入力でもcomplete.phpに通ってしまいます。 
ページを戻るとエラーが表記されるようになるのですが・・・ 
まだ勉強して間もないため、違っているとこのソースなどをご教授いただければと思います。 
 
ご面倒かと思いますが、よろしくお願いします。</description>
			<author>h032313</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2839</guid>
		</item>
				<item>
			<pubDate>Wed, 11 Aug 2010 06:25:53 +0900</pubDate>
			<title>php mysql スケジュールが存在したらリンクをつける方法</title>
			<link>http://www.phppro.jp/qa/2837</link>
			<description>現在Saity先生のPHP基礎講座にあったスケジューラー(PHP＆テキストファイル)を 
（php＆MYSQL）にカスタマイズして勉強しています。 
 
ほぼ同じ内容のものが作成できたのですが 
（カレンダー、新規登録、更新は作成完了しています） 
スケジュールが存在したらリンクをつけるという部分だけ 
何回試しても実装できません。 
 
アドバイス頂けたらと思います。 
 
 
ここに掲載されているものをベースにしました 
http://www.phppro.jp/school/phpschool/vol19/1 
 
以下はポイント部分を抜粋しました。 
   &amp;lt;?php    
  &amp;nbsp;&amp;nbsp;  $filename  &amp;nbsp;=&amp;nbsp;  &amp;quot;  samplefile.txt  &amp;quot;  ;&amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  $schedule_list  &amp;nbsp;=&amp;nbsp;  file  (  $filename  )  ;  
  &amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  //&amp;nbsp;スケジュールが存在するかどうかチェックする    
  &amp;nbsp;&amp;nbsp;  $exist_schedule  &amp;nbsp;=&amp;nbsp;  false  ;&amp;nbsp;&amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  foreach  &amp;nbsp;  (  $schedule_list  &amp;nbsp;  as  &amp;nbsp;  $lineno  &amp;nbsp;=&amp;gt;&amp;nbsp;  $line  )  &amp;nbsp;  {    
  &amp;nbsp;&amp;nbsp;  list  (  $schedule_date  ,&amp;nbsp;  $title  ,&amp;nbsp;  $body  )  &amp;nbsp;=&amp;nbsp;  explode  (  &amp;quot;  |  &amp;quot;  ,&amp;nbsp;  $line  )  ;  
  &amp;nbsp;&amp;nbsp;  if  &amp;nbsp;  (  $schedule_date  &amp;nbsp;==&amp;nbsp;  $year  &amp;nbsp;.&amp;nbsp;  $month  &amp;nbsp;.&amp;nbsp;  sprintf  (  &amp;quot;  %02d  &amp;quot;  ,&amp;nbsp;  $day  ))  &amp;nbsp;  {  &amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  $exist_schedule  &amp;nbsp;=&amp;nbsp;  true  ;&amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  break  ;&amp;nbsp;  
  &amp;nbsp;&amp;nbsp;  }    
  &amp;nbsp;&amp;nbsp;  }    
  &amp;nbsp;&amp;nbsp;  //&amp;nbsp;スケジュールが存在したらリンクをつける&amp;nbsp;    
  &amp;nbsp;&amp;nbsp;  if  &amp;nbsp;  (  $exist_schedule  )  &amp;nbsp;  {    
  &amp;nbsp;&amp;nbsp;  print  (  &amp;quot;  &amp;lt;td&amp;gt;&amp;lt;a&amp;nbsp;href=  \&amp;quot;  schedule_list.php?year=  &amp;quot;  &amp;nbsp;.  $year  &amp;nbsp;.  
  &amp;nbsp;&amp;nbsp;  &amp;quot;  &amp;amp;month=  &amp;quot;  .&amp;nbsp;  $month  &amp;nbsp;.&amp;nbsp;  &amp;quot;  &amp;amp;day=  $day  \&amp;quot;  &amp;gt;  $day  &amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;  \n  &amp;quot;  )  ;  
  &amp;nbsp;&amp;nbsp;  }  elseif  (  $week  [  $day  ]  &amp;nbsp;==&amp;nbsp;  0  ){    
  &amp;nbsp;&amp;nbsp;  echo  &amp;nbsp;  &amp;quot;  &amp;lt;td&amp;gt;&amp;lt;FONT&amp;nbsp;COLOR='RED'&amp;gt;  $day  &amp;lt;/FONT&amp;gt;&amp;lt;/td&amp;gt;  \n  &amp;quot;  ;  //日曜日の場合の出力    
  &amp;nbsp;&amp;nbsp;  }  elseif  (  $week  [  $day  ]  &amp;nbsp;==&amp;nbsp;  6  ){    
  &amp;nbsp;&amp;nbsp;  echo  &amp;nbsp;  &amp;quot;  &amp;lt;td&amp;gt;&amp;lt;FONT&amp;nbsp;COLOR='#0000ff'&amp;gt;  $day  &amp;lt;/FONT&amp;gt;&amp;lt;/td&amp;gt;  \n  &amp;quot;  ;  //土曜日の場合の出力&amp;nbsp;&amp;nbsp;    
  &amp;nbsp;&amp;nbsp;  }  else  {    
  &amp;nbsp;&amp;nbsp;  echo  &amp;nbsp;  &amp;quot;  &amp;lt;td&amp;gt;  $day  &amp;lt;/td&amp;gt;  \n  &amp;quot;  ;  //普通の日の出力    
  &amp;nbsp;&amp;nbsp;  }  }  
    ?&amp;gt;    
よろしくお願いいたします。</description>
			<author>kokonatu</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2837</guid>
		</item>
				<item>
			<pubDate>Wed, 11 Aug 2010 01:49:46 +0900</pubDate>
			<title>不正アクセスを防ぐ方法</title>
			<link>http://www.phppro.jp/qa/2836</link>
			<description>こんにちは、趣味でPHPを勉強しているのですが、最近、サーバー内のファイルを見られたり、勝手にアップロードされたり、属性を変更されたりといった類の不正アクセスを受けたのですが、これらは、どのように対策するのでしょうか？ 
 
formを使ったコンテンツが多く、htmlspecialcharsを使ってエスケープしたりしていますが、これだけでは何も回避出来ないのでしょうか？ 
後、一部のコンテンツでは、HTMLタグを使えるようにする為、htmlspecialcharsを使わず、HTMLを許可する変わりに 
 
str_replace(&amp;quot;&amp;lt;php&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;$item&amp;quot;); 
 
みたいに書いています。 
ちなみにファイルはphpです。 
 
ftpに侵入したのでは無く、外部コマンド(詳しく無いのでよくわからないです)でされたかもしれません。 
 
ftpに関しては、ガンブラー対策にもなるらしい、ftpaccessファイルを置いています。 
 
そこで相談なのですが、サーバー内にある全ファイルで、エスケープ用のファイルを読み込ませて、回避出来ればと考えております。 
 
例えばpostされた値を一括でチェック出来たりするといいかなと考えています。 
 
なので、エスケープ用のファイルに 
 
■エスケープ用ファイル 
例:ng.php 
   if(($_POST)or($_GET)){  
  //ここに値のチェック  
  }   みたいに記述して、postかgetの時で値を送信しようとする際に必ず通る関門のようにして、値を一括でチェックしたいのですが、具体的にどのようにすればいいでしょうか？ 
 
未熟な自分が原因なのはわかるのですが、正直かなり困っているので、警察に相談しようと思っています。 
届け出を出す場合は、基本的に何が必要となるのでしょうか？ 
ftpログはサーバー会社から受け取りました。 
どうか宜しくお願い致します。</description>
			<author>litlithuthut</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2836</guid>
		</item>
				<item>
			<pubDate>Sat, 07 Aug 2010 10:16:37 +0900</pubDate>
			<title>SQLServerにprepareで検索するには？</title>
			<link>http://www.phppro.jp/qa/2835</link>
			<description>   $stmt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;odbc_prepare($conn,&amp;nbsp;'SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;TBL&amp;nbsp;WHERE&amp;nbsp;COL1&amp;nbsp;=&amp;nbsp;?');  
  $success&amp;nbsp;=&amp;nbsp;odbc_execute($stmt,&amp;nbsp;array($a));    
環境はPHP5です。 
SQLServerに接続して上記のプログラムを実行すると、テーブルの列より文字数が多い場合 
22001　文字列の右側が切り捨てられたエラーメッセージが表示されます。 
 
ライブラリの変更も含めて回避する方法はあるのでしょうか。 
 
よろしくお願いいたします。</description>
			<author>phpsuki</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2835</guid>
		</item>
				<item>
			<pubDate>Thu, 05 Aug 2010 17:38:38 +0900</pubDate>
			<title>SOAP接続のエラー</title>
			<link>http://www.phppro.jp/qa/2834</link>
			<description>PHP5より外部サーバーにSOAPで接続をしたいのですが、 
エラーになり、上手くいきません。 
ご助言お願いいたします。 
 
Fatal&amp;nbsp;error:&amp;nbsp;Uncaught&amp;nbsp;SoapFault&amp;nbsp;exception:&amp;nbsp;[HTTP]&amp;nbsp;SSL&amp;nbsp;support&amp;nbsp;not&amp;nbsp;available&amp;nbsp;in&amp;nbsp;this&amp;nbsp;build&amp;nbsp;in&amp;nbsp;/var/www/html/test.php:23&amp;nbsp; 
 
 
プログラム 
   //&amp;nbsp;SOAPの初期化  
  $client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;SoapClient(WSDL,array('login'&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;quot;test&amp;quot;,'password'&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;quot;test&amp;quot;&amp;nbsp;));  
  &amp;nbsp;  
  //&amp;nbsp;GetAccountInfoの実行  
  $result&amp;nbsp;=&amp;nbsp;$client-&amp;gt;GetAccountInfo(5);    
※一番最後の行が23行目になります。 
 
よろしくお願いします。</description>
			<author>fc_abc</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2834</guid>
		</item>
				<item>
			<pubDate>Thu, 05 Aug 2010 10:36:11 +0900</pubDate>
			<title>「再生可能期限が切れたため再生できません」</title>
			<link>http://www.phppro.jp/qa/2833</link>
			<description>動画配信のコードの一部です。 
docomo&amp;nbsp;の&amp;nbsp;N-05A&amp;nbsp;などでは問題なく再生されるのですが、N905iBiz&amp;nbsp;だと「再生可能期限が切れたため再生できません」と言われて再生できません。 
原因の見当がつきません。 
どなたか、おわかりになる方がいらっしゃいましたら、教えていただけないでしょうか？ 
 
   ////////////////////////////////////////////////////////////////////////  
  //&amp;nbsp;分割リクエストへの応答  
  &amp;nbsp;  
  $range_value&amp;nbsp;=&amp;nbsp;$_SERVER['HTTP_RANGE'];  
  &amp;nbsp;  
  if&amp;nbsp;($range_value&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;preg_match(&amp;quot;/^bytes=(\d+)\-(\d+)$/&amp;quot;,&amp;nbsp;$range_value,&amp;nbsp;$range_array))  
  {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$last_modified&amp;nbsp;=&amp;nbsp;gmdate('D,&amp;nbsp;d&amp;nbsp;M&amp;nbsp;Y&amp;nbsp;H:i:s',&amp;nbsp;$file_time).'&amp;nbsp;GMT';  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$start&amp;nbsp;=&amp;nbsp;$range_array[1];  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$end&amp;nbsp;=&amp;nbsp;$range_array[2];  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$length&amp;nbsp;=&amp;nbsp;$end&amp;nbsp;-&amp;nbsp;$start&amp;nbsp;+&amp;nbsp;1;  
  &amp;nbsp;  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header('HTTP/1.1&amp;nbsp;206&amp;nbsp;Partial&amp;nbsp;Content');  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header('Last-Modified:&amp;nbsp;'.$last_modified);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header('Pragma:&amp;nbsp;no-cache');  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Accept-Ranges:&amp;nbsp;bytes&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Content-Length:&amp;nbsp;&amp;quot;.$length.&amp;quot;&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header('Content-Range:&amp;nbsp;bytes&amp;nbsp;'.$start.'-'.$end.'/'.$movie_size);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Content-Type:&amp;nbsp;&amp;quot;.$mime_type.&amp;quot;&amp;quot;);  
  &amp;nbsp;  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;substr($movie_data,&amp;nbsp;$start,&amp;nbsp;$length);  
  }  
  &amp;nbsp;  
  ////////////////////////////////////////////////////////////////////////  
  //&amp;nbsp;非分割の場合の応答  
  &amp;nbsp;  
  else  
  {  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;HTTP/1.1&amp;nbsp;200&amp;nbsp;OK&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Accept-Ranges:&amp;nbsp;bytes&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Content-Length:&amp;nbsp;&amp;quot;.$movie_size.&amp;quot;&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Content-Disposition:&amp;nbsp;attachment;&amp;nbsp;filename=&amp;quot;.$file_name.&amp;quot;&amp;quot;);  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;quot;Content-Type:&amp;nbsp;&amp;quot;.$mime_type.&amp;quot;&amp;quot;);  
  &amp;nbsp;  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($_SERVER['REQUEST_METHOD']&amp;nbsp;!=&amp;nbsp;&amp;quot;HEAD&amp;quot;)  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;$movie_data;  
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}  
  }   </description>
			<author>daneel</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2833</guid>
		</item>
				<item>
			<pubDate>Tue, 03 Aug 2010 16:42:50 +0900</pubDate>
			<title>ファイルに1行しか書いていないのに2回読まれる</title>
			<link>http://www.phppro.jp/qa/2832</link>
			<description>１）ファイルへ書き込むプログラム 
別のHTML入力画面からデータを取得して、 
ファイルに書き込んでいます。 
&amp;lt;?php 
 
#データを取得する 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;$_POST[&amp;quot;name&amp;quot;]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$mail&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;$_POST[&amp;quot;mail&amp;quot;]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$title&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;$_POST[&amp;quot;title&amp;quot;]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$message&amp;nbsp;=&amp;nbsp;$_POST[&amp;quot;message&amp;quot;]; 
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;日本語表記の日時を得る 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$time&amp;nbsp;=&amp;nbsp;date(&amp;quot;Y/m/d&amp;nbsp;l&amp;nbsp;H:i:s&amp;quot;); 
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;データを１行にまとめる（項目の区切りは%） 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$data&amp;nbsp;=&amp;nbsp;$time.&amp;quot;%&amp;quot;.$name.&amp;quot;%&amp;quot;.$mail.&amp;quot;%&amp;quot;.$title.&amp;quot;%&amp;quot;.$message.&amp;quot;\n&amp;quot;; 
 
#&amp;nbsp;追加書き込みモードでファイルを開く 
$handle&amp;nbsp;=&amp;nbsp;fopen(&amp;quot;bbs&amp;quot;,&amp;quot;a&amp;quot;)&amp;nbsp;; 
 
flock($handle,&amp;nbsp;LOCK_EX); 
 
fwrite($handle,$data); 
 
#ファイルをアンロックする 
flock($handle,&amp;nbsp;LOCK_UN); 
 
fclose($handle); 
 
#?&amp;gt; 
 
２）ファイルから読み込むプログラム 
１）で書き込んだファイルから1行ずつ読み込み、表示し、 
ファイルが終了するまで継続しています。 
このとき、1行余分に、読み込まれます。 
すなわち、while(!feof($handle))で、1回余分にループしていることになります。 
なぜでしょうか。 
 
#&amp;nbsp;読み込みモードでファイルを開く 
$handle&amp;nbsp;=&amp;nbsp;fopen(&amp;quot;bbs&amp;quot;,&amp;quot;r&amp;quot;)&amp;nbsp;; 
 
#ファイルの最後まで読み込む 
while(!feof($handle)){ 
	#1行読み込む 
	$line=fgets($handle); 
	 
	#1行の文字列を「%」で分解して項目と取り出す 
	$word=explode(&amp;quot;%&amp;quot;,$line); 
	$time=$word[0]; 
	$name=$word[1]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$mail=$word[2]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$title=$word[3]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$message=$word[4]; 
 
#&amp;nbsp;１件分のデータを表示する 
print&amp;nbsp;&amp;lt;&amp;lt;&amp;lt;&amp;nbsp;HTML 
 
&amp;lt;HTML&amp;gt; 
&amp;lt;HEAD&amp;gt; 
&amp;lt;TITLE&amp;gt;(^_^)&amp;lt;/TITLE&amp;gt; 
&amp;lt;/HEAD&amp;gt; 
&amp;lt;BODY&amp;gt; 
&amp;lt;TABLE&amp;nbsp;width=&amp;quot;500&amp;quot;&amp;nbsp;cellpadding=&amp;quot;10&amp;quot;&amp;nbsp;bgcolor=&amp;quot;wheat&amp;quot;&amp;gt; 
&amp;lt;TR&amp;gt; 
&amp;lt;TD&amp;gt; 
&amp;lt;B&amp;gt;$time&amp;lt;/B&amp;gt;　&amp;lt;B&amp;gt;$title&amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt; 
&amp;lt;FONT&amp;nbsp;color=&amp;quot;green&amp;quot;&amp;gt;$name&amp;lt;/FONT&amp;gt; 
&amp;lt;IMG&amp;nbsp;src=&amp;quot;email.gif&amp;quot;&amp;nbsp;align=&amp;quot;middle&amp;quot;&amp;nbsp;hspace=&amp;quot;5&amp;quot;&amp;gt; 
&amp;lt;A&amp;nbsp;href=&amp;quot;mailto:$mail&amp;quot;&amp;gt;$mail&amp;lt;/A&amp;gt;&amp;lt;BR&amp;gt; 
&amp;lt;BR&amp;gt; 
$message 
&amp;lt;/TD&amp;gt; 
&amp;lt;/TR&amp;gt; 
&amp;lt;/TABLE&amp;gt; 
&amp;lt;P&amp;gt; 
 
&amp;lt;/BODY&amp;gt; 
&amp;lt;/HTML&amp;gt; 
	 
HTML; 
	 
} 
 
fclose($handle); 
 
よろしくお願いします。</description>
			<author>masahiroyamamoto</author>
			<guid isPermaLink="true">http://www.phppro.jp/qa/2832</guid>
		</item>
			</channel>
</rss>