我正在尝试通过帖子传递3个变量,用于网站的基本管理面板。
我有一个像这样的表格
<script>
var json = {"thing":"stuff"};
var json_file = JSON.stringify(json);
</script>
<form action='load.php' method='post'>
<input type='hidden' name='username' value='<?php echo $_POST["username"]; ?>' />
<input type='hidden' name='password' value='<?php echo $_POST["password"]; ?>' />
<input type='hidden' name='json' value='json_file' />
<input type='submit' value='Submit' />
</form>
我需要传递用户名和密码,以确保此人可以访问。并且json应该被传递,因此PHP脚本可以将其写入文件。
我尝试在json_file
中包裹btoa(json_file)
并使用base64_decode($_POST["json"])
来撰写,但它总是在写东西而不应该' '
答案 0 :(得分:1)
<script>
var json = {"thing":"stuff"};
var json_file = JSON.stringify (json);
</script>
<form method='post' onsubmit="this.json.value = json_file;">
<input type='hidden' name='json'/>
<input type='submit' value='Submit' />
</form>
<?php
if (isset ($_POST['username'], $_POST['password'])) {
if ($_POST['username'] == 'admin' && $_POST['password'] == 'password') {
// do something
}
}
?>
答案 1 :(得分:0)
value='json_file'
表示该值设置为字符串'json_file'
,而不是变量json_file
的值。您可以改为:
<script>
var json = {"thing":"stuff"};
var json_file = JSON.stringify(json);
window.onload = function() {
document.getElementsByName('json')[0].value = json_file;
};
</script>
<form action='load.php' method='post'>
<input type='hidden' name='username' value='<?php echo $_POST["username"]; ?>' />
<input type='hidden' name='password' value='<?php echo $_POST["password"]; ?>' />
<input type='hidden' name='json' />
<input type='submit' value='Submit' />
</form>