我試圖製作一個web文件服務器(一個雲)。我決定在index.php
上提供基本的表單密碼驗證。當用戶輸入密碼並單擊該按鈕時,JS將該密碼發送到index.php
,並確定它是否正確。在不刷新頁面的情況下重定向到PHP和JS
如果是,則index.php將用戶重定向到files.php
。如果不是,則刷新頁面。 我知道重定向和刷新是通過header();
完成的,但是當我使用它並在我的瀏覽器中觀看「網絡」選項卡時,它會收到files.php
,但不會加載它(保持在index.php
)。我確信原因是在一些文本之後發送了頭文件(好吧,它是頭文件)。
當前頁面發送後,如何將用戶的瀏覽器重定向到某個頁面?我應該讓JS去做嗎?那怎麼樣?這是我的index.php:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
echo '
<h1>Hello World</h1>
<form>
<input name="password" type="text"></input>
<button onclick=authClick() class="test" type="button"></button>
</form>
';
print_r($_POST);
if ($pass == "123123") {
header("Location: files.php");
}
?>
<script src="scripts/main.js"></script>
</body>
</html>
這裏而來的JS:
function authClick() {
var editBox = document.querySelector('input');
var xhr = new XMLHttpRequest();
var body = 'password='+encodeURIComponent(editBox.value);
xhr.open("POST","/index.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(body);
}
var myHeading = document.querySelector('h1');
myHeading.textContent = 'nigga';
b = document.querySelector('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');
b.innerHTML = 'submit';
您是否正在使用FORM?你能提供一些代碼嗎? – Ivan
我們可以看到重定向代碼嗎? – Deckerz
您可能需要ajax或cURL – bdalina