我想使用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)'」* - 我沒有看到那些在任何地方定義的變量。你的問題的方式太不明瞭。 –
我只能提供評論;看到給出的答案。 –