为什么" $ _ COOKIE"导致我的fwrite()函数无法正常工作?

时间:2016-04-24 15:21:01

标签: php cookies fwrite

我有一个fwrite()功能来创建电子邮件激活链接。我需要为该链接使用cookie。首先我输入:

if ($filecheck == "F") {
$file = $getuseremailresult['username'] . rand() . rand() . ".php";
$filename = "../" . $file;
$link = "http://new.connectionsocial.com/users/LoginRegisterName/" . $file;
$handle = fopen($file, "w") or die("<h1 style='text-align: center; color: red;'>There has been an error creating the activation link. Please try again later.</h1>");
$content = "

include_once('ConnectionDB.php');

$cookie = sha1($_COOKIE['TemporaryCookie']);

?>
";
fwrite($handle, $content);
mysqli_query($connection, "UPDATE userfilescheck SET FileCreated='T'");
}

到目前为止一切都很好。但是,当我将其添加到$content

$cookie = sha1($_COOKIE['TemporaryCookie'];

整个页面确实消失了,没有任何代码可以工作。我应该逃避$cookie值的一部分,还是只是解析错误?

2 个答案:

答案 0 :(得分:2)

我不知道这是否是整个问题,但是......

$ cookie = sha1($ _ COOKIE [&#39; TemporaryCookie&#39;];

...缺少右括号。它应该是......

$ cookie = sha1($ _ COOKIE [&#39; TemporaryCookie&#39;]);

答案 1 :(得分:1)

将我的评论转换为答案。

首先在$cookie = sha1($_COOKIE['TemporaryCookie']);之外声明$content,同时确保已创建并存在Cookie,然后在$cookie=$cookie;内执行$content

您可以尝试的另一件事是heredoc或nowdoc http://php.net/manual/en/language.types.string.php

正如你在评论中提到的那样,我确实想到了但在评论中没有提到的是用一条黑名单来逃避变量。