繁体   English   中英

通过post传递json对象以及其他数据

[英]pass json object via post along with other data

我试图通过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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM