通过PHP从PHP文件重新访问输入文本数据

时间:2018-04-20 14:43:31

标签: javascript php

我有一个服务器,一旦点击了提交按钮,我就会存储标准文本输入,我已成功完成此操作,现在需要调用不同按钮点击的所有输入。我对PHP缺乏了解,因为我几乎不知道如何检索它,我知道PHP文件中的数据一旦运行就会被删除,所以我需要创建一些"存储" (我发现使用$ _SESSION是为了这个目的)。

然后我需要使用我的JS文件以某种方式回忆临时存储的数据但又不知道如何将存储在PHP文件中的数组传送到JS文件。

任何简短的解释哦,如何做到这一点将非常感激,因为我是PHP的新手!

作为参考我目前有:

JS:

function writeDoc() {
  var xhttp = new XMLHttpRequest();
  var url = "gethint.php";
  var input = document.getElementById("text").value;
  var clicker = document.getElementById("submit");

  xhttp.open("POST", "gethint.php", true);
  xhttp.setRequestHeader("Content-type", "application/x-www-form- 
  urlencoded");

  xhttp.onreadystatechange = function(){
    if(this.readyState == 4 && this.status == 200){
        alert("Form Was Submitted");
    // var returnData = xhttp.responseText;
    }
}
   xhttp.send("input= " + input);
} 

  function readDoc() {
  var xxhttp = new XMLHttpRequest();   
  xxhttp.onreadystatechange = function(){
    if(this.readyState == 4 && this.status == 200){
        alert("Data retrieved")
       // var returnData = xhttp.responseText;
    }
}
  xxhttp.open("GET", "gethint.php", true);
  xxhttp.send();
} 

HTML:

<body>
    <label>Text Input To Save: </label>
    <br></br>
    <textarea rows="6" cols="20" id="text" name="textInput"></textarea>
    <input type="submit" id="submit" onclick="writeDoc()">
    <br></br>
    <label>Retrieve Text :</label> <input type="button" id="getText" 
    onclick="readDoc()">
</body>

PHP:

<?
session_start();
echo $_SESSION["input_data"] = $_POST;
print_r($_POST);
echo "Text Submitted". $_POST["input"];
print_r($_REQUEST);
echo "Text Retrieved" . $_REQUEST["input"];
?>

2 个答案:

答案 0 :(得分:0)

要轻松访问js中的php数据,你可以将数据存储在session.also中使用json格式将数据抛出到js并通过jeson数组键值格式在js中访问它,如果你有多个表单字段来存储和访问。 使用json_encode()从php抛出到js。 您也可以将此数据保存在cookie中。会话和cookie是存储数据的临时方式。对于永久存储,使用像mysql这样的数据库,并使用json从js中调用它。

答案 1 :(得分:0)

在你的php中你可以将帖子数据编码为json,如下所示:

$_SESSION['input_data'] = json_encode($_POST);

在您的js中,您可以通过解码来获取数据:

var data = JSON.parse('<?php echo $_SESSION["input_data"]; ?>');

这将为您提供一个js对象,您可以使用您在html中输入标签的名称来访问该对象。

ex:data.textInput将获得textarea的值。