我正在尝试创建一种方法,以便从" user_accounts.txt"中删除帐户。它将用户名和密码存储在不同的行中。
我正在尝试列出已取消删除的帐户以替换.txt文件...因此,点击该链接后,该帐户将被删除。
我设法将用户名显示为链接。但是,当我点击链接时它不会删除它,它会将我转移到错误404的页面。
有谁知道我做错了什么?
在任何人提到将帐户详细信息存储在.txt文件中的安全问题之前,我完全清楚这一点。我还在学习PHP,我首先关注的是学习和理解基础知识。一旦我开始工作,我将在以后关注安全性。我的网站仅用于教育目的。
非常感谢所有帮助。
我的代码是:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
$delete = htmlspecialchars($_GET["account"]);
$newAccountList = "";
$file = fopen("user_accounts.txt", "r") or exit ("Unable to open file");
while(!feof($file))
{
$accountUsername = trim(str_replace("\n", "", fgets($file)));
$accountPassword = trim(str_replace("\n", "", fgets($file)));
if($delete != $accountUsername)
{
if($newAccountList == "")
{
$newAccountList = $accountUsername;
}
else
{
$newAccountList = $newAccountList."\n".$accountUsername;
}
$newAccountList = $newAccountList."\n".$accountPassword;
}
}
$file = fopen("user_accounts.txt", "w") or exit ("Unable to open file");
fwrite($file, $newAccountList);
fclose($file);
}
?>
<?php
$file = fopen("user_accounts.txt", "r") or exit ("Unable to open file");
while(!feof($file))
{
$username = fgets($file);
$password = fgets($file);
echo "<a href='user_accounts.php?account=".$username."'>".$username."</a><br><br>";
}
fclose($file);
?>
答案 0 :(得分:0)
if ($_SERVER['REQUEST_METHOD'] == 'GET') { ... }
使用:
if(isset($_GET['account'])){
...
}
答案 1 :(得分:0)
在盯着这段代码几个小时之后,我终于弄清楚我做错了什么。我正在回应错误的页面!应该是&#39; remove_user.php&#39;而不是&#39; user_accounts.php&#39; (这个页面是.txt文件,而不是.php!)。
感谢所有有输入的人:)