gpt4 book ai didi

PHP 变量错误/file_put_contents 错误

转载 作者:行者123 更新时间:2023-11-29 06:58:24 25 4
gpt4 key购买 nike

我正在尝试使用 file_put_contents() 创建用户特定页面。当用户首次输入其帐户时,我希望网站创建一个只能由用户访问的页面,网址为 mydomain.com/users/username.php。如果他们不是用户,那么我会尝试将他们重定向到他们自己的帐户页面(因为 users/username.html 包含敏感信息)。因此,我在 username.html 中使用此代码:

<?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 是用户名 ($_SESSION['username']) 与 .php 的组合,而 $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 行。所以我假设你不能有一个多行变量(这不会对代码有害。我认为......),所以我尝试将其全部写成一行,这产生了完全相同的结果错误,但将有问题的行移到了一位。

我无法弄清楚这是我使用 file_put_contents() 还是使用变量 $phpstuff 的问题。如果我错过了什么,请指出,我几乎肯定这是我忽略的事情。我不知道该做什么/尝试什么。感谢所有帮助。谢谢!

最佳答案

不要这样做。

不要动态生成 PHP 并为每个单独的用户创建一个文件(这在很多方面都是错误的),而是使用一个文件来处理所有用户,然后将用户名/用户 ID 作为参数传递给脚本。

您可以使用 .htaccess 将/users/.php 的所有请求路由到/users/index.php?user=

关于PHP 变量错误/file_put_contents 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44688743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com