[PHP-users 29451] Re:

sudo kan hoataa @ hotmail.com
2006年 6月 21日 (水) 13:47:59 JST


お世話になっております。須藤です。

寺尾さん、ご回答ありがとうございます。

> ソースを見てる限りおかしなところはないかな?と思います。
> 流し読みなので、気づいてないかも知れませんけど・・・。
> 
> 検討違いかも、テンプレートの文字コードは何で書いておりますか?
> Shift-JISですと、そういった状態になることがあったように思います。
> EUC又は、UTF8で書くことをお勧めします。
> もし、すでに書いておられましたら申し訳ございません。

申し訳ありません。文字コード辺りを記述していませんでした。
bodyより上は以下のようになっております。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />
<title>xxxxxxxx</title>
</head>
<body bgcolor="#FFFFFF">

仰られたように、charset部分をEUC-JP,UTF-8,他にはISO-2022-JP等に変えてみまし
たが、
変化がありませんでした。
ブラウザ自体のエンコードも変えてみましたが、それでもうまくいきません。

ソースを細かく新しいテキストに貼り付けていったのですが、やはり原因の場所は
form部分ですね。
ただhiddenをなくすとうまく表示できたり、hiddenをなくしても2つめのボタンを記
述すると
表示できなくなったりします。
smartyのif等が悪さをしてるのかとも考えられたので、単純にform1つ、2つと増やし
てみましたが
1つ目はOKなのに、2つ目は駄目になったりと、smartyなしでもエラーがでます。
スタイルシートも念の為消したりしてますが、それでもうまくいきません。

実は同じhtml内に同様の記述をしている部分があるのですが、そちらではうまく表示
されます。
以下のような感じです。
<table>
{foreach name="i" item="row_list" from=$rs}
  <tr bgcolor={cycle values="#FFFFFF,#DDFFDD"}>
    {foreach name="loopnum" key="key" item="data" from=$row_list}
      {if $key == "member_id" || $key == "name" || $key == 
"date_update"}
	<td>{$data}</td>
      {/if}
      {if $key == "member_id" || $key == "status"}
	{assign var="$key" value=$data}
      {/if}
      {if $key == "carrier_code" }
	<td>{$Member->get_term($data)}</td>
      {/if}
      {if $smarty.foreach.loopnum.last}
	<td style="white-space: normal">
        <form name="form1" method="post" 
action="admin_member_update.html" style="position:relative; top:10px;">
	  <input type="submit" name="kousin" value="更新">
	  <input type="hidden" name="member_id" value={$member_id}>
	  <input type="hidden" name="before_after" value="0">
	 </form>
	</td>
	<td style="white-space: normal">
	 <form name="form1" method="post" action="admin_member_delete.html" 
style="position:relative; top:10px;">
	  {if $status == 1}
	   <input type="submit" name="reentry" value="再入会" >
	   <input type="hidden" name="member_id" value={$member_id}>
	   <input type="hidden" name="before_after" value="0">
	  {else}
	   <input type="submit" name="delete" value="退会">
	   <input type="hidden" name="member_id" value={$member_id}>
	   <input type="hidden" name="before_after" value="0">
	  {/if}
	 </form>
	</td>
             {/if}
    {/foreach}
  </tr>
{/foreach}
</table>

ただこちらは2次元配列を2つのforeachを使用して順番に表示しています。
この方法だと、列の並び替えができない為、始めのように1つのforeachでの
表記方法を試みています。


千葉様、nomoto様、ご回答ありがとうございます。

if文の演算子の部分ですが、eq でも試してみましたが、
エラーは直りませんでした。

form部分でのif文自体を取り除いてやってみましたが、それでも結果は変わりません
でした・・・

_________________________________________________________________
MSN アラートで欲しい情報を必要な時に逃さずキャッチ! 
http://alerts.msn.co.jp/ 



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