Web 開発の実践のために、ユーザーがユーザー名とパスワードを使用してログインし、その組み合わせが正しいと仮定して、ファイル アップローダー インターフェイスにアクセスし、ファイルを取得する方法を提供するドロップボックスのようなサイトを作成することにしました。機能するものがありますが、1つの問題に遭遇しました。ユーザーがユーザー名とパスワードを送信するとすぐに、新しい php コードでページがリロードされます (これで問題ありません)。ただし、URL はユーザー名とパスワードの両方が表示される場所にわずかに変更されます。これが起こらないようにする方法を誰かに教えてもらえますか?
index.php ファイルは次のとおりです。
<?php
function checkCredentials()
{
if($_GET && $_GET["username"]=="kwaugh" && $_GET["password"]=="password")
{
?>
<html>
<head>
<title>File Storage</title>
<style>
body{font-size:.85em ;font-family:Arial;}
</style>
</head>
<body>
<center>
<br>Please select the file that you would like to upload:<br><br>
<form method="post" enctype="multipart/form-data">
<input type="file" name="filename"/>
<input type="submit" value="Upload" />
</form>
</center>
</body>
</html>
<?php
if ($_FILES)
{
$name = $_FILES['filename']['name'];
move_uploaded_file($_FILES['filename']['tmp_name'], $name);
if(file_exists($name))
{
?>
<html>
<body>
<div style="color:red; font-size:2em; font-family:Arial">
<center>The file has been successfully uploaded <br />Click <a href="getFiles.php">here</a> to go to your uploaded files</center>
</div>
</body>
</html>
<?php
}
else
{
?>
<html>
<body>
<div style="color:red; font-size:2em; font-family:Arial">
<center>Well crap, something went wrong. The file could not be uploaded :'( </center>
</div>
</body>
</html>
<?php
}
}
die();
}
elseif($_GET && $_GET["username"]!=="kwaugh" || $_GET && $_GET["password"]!=="password")
{
?>
<script>
alert("You have entered an incorrect username/password combination");
</script>
<?php
}
}
checkCredentials();
?>
<html>
<head>
<title>File Storage</title>
</head>
<body> <br /><br />
<center>
<img src="elephant.jpg">
<form name="credentials">
Please enter your username and password to upload files: <br />
Username: <input type="text" name="username"><br />
Password: <input type="password" name="password"><br />
<input type="submit" value="Submit" >
</form>
<br />Or click <a href="getFiles.php">here</a> to access stored files.
</center>
</body>
</html>