通过post与其他数据一起传递json对象

pass json object via post along with other data

本文关键字:json 对象 一起 数据 post 其他 通过      更新时间:2023-09-26

我试图通过一个网站的基本管理面板后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"])来写,但它总是写不应该写的东西

<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
    }
}
?>

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>