[PHP-users 11735] cookie によって分岐する方法 - 「ようこそ○○さん」のように。

poq php-users@php.gr.jp
Sun, 24 Nov 2002 16:00:50 +0900


はじめましてm(_ _)m

コミュニティー系のサイトを作ろうと思い、ハンドルネームを最初cookieに登録して、
もう一度入った時にトップページに「ようこそ○○さん」的な事がしたくてここまで
作ったのですが、うまくcookieへ書き込み出来ないようです。
時々出来たりするのですが、気紛れのようで・・・
どこがどのように間違っているのかご指摘頂けないでしょうか?

問題の環境はApache/2.0.39、php4.3.0です。ブラウザはmacintosh版のIE5.1.6です。

以下はソースです。
------------------------------------login.php----------------------
<?php
  $visitcount++;
  if ($entry == "登録") {
    setcookie("hname", $hname, time() + 86400 * 400); // 有効期間は400日
    setcookie("visitcount", $visitcount, time() + 86400 * 400);
  } elseif (isset($hname)) {                            // 2回目以降の訪問
    setcookie("visitcount", $visitcount, time() + 86400 * 400);
  }
?>
<?php
  if (isset($hname)) : ?>// 登録されていた時
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html"; charset=EUC-JP">
<TITLE>confirming...</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.google.com">
</HEAD>
<body bgcolor="#ffffff" leftmargin="0" marginheight="0" topmargin="0">
<font color="#000000">ようこそ! <?php print $hname; ?> さん。<?php print
$visitcount; ?>回目のお客様です</font><BR>
</BODY>
</HTML>
<?php 
  else : ?>// 登録されていなかった場合(cookie無い時)
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html\; charset=EUC-JP">
<TITLE>confirming...</TITLE>
<style type="text/css">
<!--
.btn {color:black;font-size:12px;line-height:1.5em\;font-family:Osaka,平成角
ゴシック,"MS ゴシッ
ク";background-color:#ffffff;text-align:center;letter-spacing:0.2em;border:d
otted 1px #696969;width:70px;height:20px}
.inp {color:#696969;background-color:#ffffff\;border:solid 1px #696969}
hr { color: #696969; border: 1; }
-->
</style>
</HEAD>
<body>
<div align="center"><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="90%">
<tr><td>
<FORM METHOD="post">
<div align="center">
<table width="502" border="0" cellspacing="0" cellpadding="0"
bgcolor="#a9a9a9" height="183">
<tr height="183">
<td width="502" height="183">
<table width="500" border="0" cellspacing="0" cellpadding="1" align="center"
bgcolor="white" height="181">
<tr height="28"><td bgcolor="#497fe1" height="28"><div align="center">
<font color="white"><b>
初めての方はハンドルネームの登録をお願いします。<BR>
</b></font></div></td></tr>
<tr height="120"><td bgcolor="#dcdcdc" height="120"><div align="center">
ハンドルネーム:<INPUT SIZE="30" TYPE="text" NAME="hname" maxlength="16"
class="inp"><BR>
</div></td></tr>
<tr height="27"><td bgcolor="#dcdcdc" height="27"><div align="right">
<input type="submit" name="entry" value=" 登録" class="btn">  <input
type="reset" name="reset" value="クリア" class="btn">
 <img src="spacer.gif" width="20" height="21" align="middle"></div>
</td></tr></table></td></tr></table></div></FORM></td></tr></table></div></B
ODY>
</HTML>
<?php 
  endif; ?>