0

我是 PHP 新手,我的意思是全新的。今天是我第一次真正坐下来试一试很长一段时间......而我想要实现的目标有点傻......我一直在做一个小Flash游戏网站很长一段时间了...只是为了让我的手弄脏网页设计和HTML和CSS,我似乎做得很好。该网站只是我制作的一个简单的 Flash 游戏网站,因此当我无事可做时,我可以在学校玩一些我最喜欢的 Flash 游戏。我记得在一个旧网站上我曾经为了做同样的事情而去每个游戏下面都有一个“恐慌按钮”,点击它时只会把你带到谷歌......我认为这是一个有趣而聪明的想法所以我想改进它,我想我会制作一个小的 PHP 脚本,使用户能够将链接更改为您想要的任何内容。所以让我们说老师说你需要继续,哦,我不知道...... SCIENCE.COM!您只需将 URL 复制并粘贴到首页的输入栏中,它就会自动将其保存在您的 cookie 中,即当您单击“恐慌”按钮时您想要访问的 URL……我想我会发布代码一直在努力让它工作,所以你们都可以看到。

继承人的PHP:

$expire=time()+0*0*12*0;

setcookie('panic', $panic, $expire);

?>

这是HTML:

<form method="post">
<input type="text" name="panic" size="80" id="panic"/>
<input type="submit" value="Submit"/>
</form>
<br />
<?php
echo ('click <a href="\'$_COOKIE {\'$panic\'}\'">HERE</a> to see if it worked!');
?>

我可能看起来不太聪明......我真的已经做了几个小时了,出于某种原因我似乎无法弄清楚......而且我不知道它是否可能,我可以拥有主要的 PHP cookie 在与 HTML 不同的文件中还是没有?...

我还必须指出,出于绝望,我四处编辑了很多名字,所以我必须说,如果有任何东西看起来非常不合适,那更有可能是因为我感到沮丧并以奇怪的方式弄乱了代码。

4

2 回答 2

0

我认为您的问题是由于在以下代码中围绕您的 PHP 滥用引号引起的。此外,您正在为选择器使用花括号$_COOKIE[],并尝试通过其内容而不是其名称来选择 cookie(您使用的是$panic代替'panic'):

<?php echo ('click <a href="\'$_COOKIE {\'$panic\'}\'">HERE</a> to see if it worked!'); ?>

单引号意味着您不需要转义双引号,并且引号内包含的任何 PHP 变量都不会被自动替换,因此需要在引号之外连接这些变量。

尝试为此替换它:

<?php echo ('click <a href="'.$_COOKIE['panic'].'">HERE</a> to see if it worked!'); ?>

于 2013-09-07T11:14:53.167 回答
0

这是因为你的 html 是错误的。你不能那样设置cookies。PHP 在服务器端运行,而不是在客户端运行。尝试这个。

HTML

<form method="post">
<input type="text" name="panic" size="80" id="panic"/>
<input type="submit" value="Submit"/>
</form>
<br />
<?php
echo ('click <a href="?viewcookie=1">HERE</a> to see if it worked!');
?>

PHP

<?php
error_reporting(E_ALL ^ E_NOTICE); // prevent it from erroring if something isn't defined
if($_GET["viewcookie"]){
    echo $_COOKIE["panic"];
} else if($_POST){
    $panic = $_POST["panic"]
    setCookie('panic', $panic, time()+(60*12)); //expires in 12 minutes
    echo $_COOKIE["panic"];
}
?>
于 2013-09-07T00:32:01.063 回答