![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
小弟新学PHP,写留言榜时用COOKIE传递用户变量,程序如下:
login.php用表单验证用户登陆并传递值nick到index.php;
index.php用setcookie("nick",$_POST[nick]) ;并包含框架,指向show.php和title.php;并在title.php里做一链接到write.php做发表话题用。
用write.php将所需数据输入数据库,包括表单title和word
<?
$link_ID=mysql_connect("localhost","root");
mysql_select_db("talk");
$time=date("Y-n-j H:i:s");
$str="INSERT INTO lyb(word,name,chtime,title) values
('$_POST[word]','$_COOKIE[nick]','$time','$_POST[title]')" ;
mysql_query($str,$link_ID);
mysql_close($link_ID);
}
if ($_POST[B1]) //此为一submit
echo "";
?>
用show.php显示内容
$link_ID=mysql_connect("localhost","root");
mysql_select_db("talk"); $str="select * from lyb ORDER BY chtime desc;" ;
$result=mysql_query($str, $link_ID); $rows=mysql_num_rows($result);
for ($i=0;$i<$rows;$i++)
{
$r=mysql_fetch_array($result);
echo r[title];
echo r[name];
echo r[word];
}
因程序有点长,省略了一点,大概就是这样。现在出现一问题,我的COOKIE只传第一次值就不能用了,即当一用户登陆时点连接到write.php发表话题,第一次可以正确现实出用户的名字及其他,但如果接连发表2篇文章的话,则显示不出name,即COOKIE好像失效了,其他都正常!用session的话则可全部正常显示,不存在上述问题,请问高手这是怎么回事??我在setcookie时在后面加了存在时间time()+3600后果也一样,请高手指点。

