我想使用file_put_contents()来创建用户特定的页面。当用户首次进入他们的帐户时,我希望网站创建一个只能由mydomain.com/users/username.php用户访问的页面。如果他们不是用户,那么我试图将他们重定向到他们自己的帐户页面(因为users/username.html包含敏感信息)。因此,我在username.html中使用此代码:PHP变量错误/ file_put_contents错误
<?php
$actual_link='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$net = $actual_link['filename'];
if($_SESSION['username']==$net){
echo 'Verified';
}
else{
header('Location:mydomain.com/user/welcome.php');
}
?>
这假设性地将未授权用户关闭页面。要为每个用户创建的页面(并保持其可扩展的),我用
file_put_contents($urlphp,$phpstuff)
(我决定不使用FILE_APPEND因为该文件不应该存在)。 $ urlphp是与.php结合的用户名($ _SESSION ['username']),$ phpstuff是我上面提到的全部内容。这是我认为我出错的地方。我打字:
$phpstuff = "<?php
$actual_link='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$net = $actual_link['filename'];
if($_SESSION['username']==$net){
echo 'Verified';
}
else{
header('Location:mydomain.com/user/welcome.php');
}
?>"
然而,产生这样的代码:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in path/to/users/welcome.php on line 35
第35行是:
$actual_link='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
然而,(并牢记在这里,我是比较新的PHP/MySQL的,所以我走了我所知道的和PHP.net和W3Schools告诉我)我无法找到任何空格在第35行。所以我认为你不能有一个多行变量(这不会对代码有害,我想....),所以我试着用maki所有这一行,这产生了完全相同的错误,但移动问题线。
我无法弄清楚的是,如果这是我使用file_put_contents()或使用变量$ phpstuff时出现的问题。如果有什么我错过了,请指出,我几乎积极,这是我俯瞰的东西。我无法做什么/尝试。所有的帮助表示赞赏。谢谢!
这个问题与mysql有什么关系?有没有代码来支持它,你想在'$ phpstuff =“”'中做什么? –
*“因此,我在'username.html'中使用了这些代码”* - 您是否指示服务器将其视为php? *“我用 'file_put_contents($ urlphp,$ phpstuff)'”* - 我没有看到那些在任何地方定义的变量。你的问题的方式太不明了。 –
我只能提供评论;看到给出的答案。 –