[PHP-users 32052] Re: フォーム結果をPOSTで受け取ってポップアップに表示

miyuki sakamoto sakamoto.miyuki @ sea.plala.or.jp
2007年 4月 28日 (土) 15:30:45 JST


お返事有難うございます。

説明が下手ですみません。かなり慌てていたようです、、、。
(読み直すと自分でも意味不明でした。)

投票フォーム(ラジオボタン)から送信した結果をグラフにしてポップアップに表示
させます。
投票データを受け取り、データ保存、グラフ表示(HTMLテンプレートに出力)の
流れは
PHPプログラムの動作確認が出来ているのですが、
ポップアップウインドウにその結果を表示させる部分で躓いています。
今の問題点はウインドウのサイズが指定サイズにならないのです。
どちらかといえばJavaScript関係かもしれませんが・・・
以下チョット、長くなりました。宜しくお願いします。

フォームからactionで受け取るphpファイルの中身↓ (関数排除しました)

 $vote_vol_no = $_POST['vote_vol_no'] ;
 $vote_no = $_POST['vote_no'];
 $filename = $vote_vol_no.".txt";

 if(!is_file($filename)){
	$fp = fopen($filename, 'a');
	if(!$fp) { die("ファイルを開けません"); }
	if(!flock($fp, LOCK_EX)) { die("ファイルをロックできません"); }
	fputs($fp,  $vote_no."\n");
	fclose($fp);
 	chmod($filename, 0777);
 }else{
	$fp = fopen($filename, 'a');
	if(!$fp) { die("ファイルを開けません"); }
	if(!flock($fp, LOCK_EX)) { die("ファイルをロックできません"); }
	fputs($fp,  $vote_no."\n");
	fclose($fp);
  }
 	//データ集計
	$lines = file($filename);
	foreach($lines as $line){
		$vote[] = rtrim($line);
	}
	$count_all = count($vote);
	$vote = array_count_values ($vote);
	ksort($vote);
	//率算出
	foreach($vote as $key => $val){
		$result[$key] = round(((int)$val/(int)$count_all)*100 , 1) ;
	}
	extract($result);
	include($tmpl);


下記はHTMLフォームのソースです。これだとウインドウのサイズが指定の物になりま
せん。
必要な部分のみ抜粋しました。

<script type="text/javascript">
function popup_window(obj) {
  wobj = window.open("", "choice","scrollbars=yes,width=451,height=380");
  obj.target = "choice";
  wobj.focus();
  return true;
}
</script>

 <form method="post" action="choice_popup/index.php" NAME="vote_form"
id="vote_form" target="choice" onsubmit="return popup_window(this)">
<input name="vote_no" type="radio" value="a" />
<input name="vote_no" type="radio" value="b" />
<input name="vote_no" type="radio" value="c" />
<input type="hidden" name="vote_vol_no" value="1">
<a href="javascript:;" onmouseout="MM_swapImgRestore()"
onmouseover="MM_swapImage('vote','','image/choice_vote_over.gif',1)">
<img src="image/choice_vote.gif" alt="投票ボタン" width="51" height="23"
id="vote"
onclick="submit('vote_form');"/>



PHP-users メーリングリストの案内