将 PHP 数组传递给 HTML 页面


Pass PHP array to HTML Page.

我希望能够在按钮单击时检查服务器端目录是否存在某些文件。

如果它们存在,我希望显示与该文件相对应的复选框。

到目前为止,我已经设法使用 PHPAJAX 来检查文件是否存在并写入和数组:如果文件存在,则为 1,如果不存在,则为 0。

现在。。。在这个阶段,我需要做的是从我的PHP文件中调用这个数组,或者把这个数组写到我的主HTML页面上的div。然而,当我去回声时,它会远离我的主.html,打开一个新页面并写下它。

最大的问题是我可以从我的PHP_Function.php文件在我的主 html 页面上编写数组吗?

我有以下 HTML 代码:

    <form action="PHP_Function.php">
        <input type="submit" class="learnButton" name="insert" value="Find Available Evidence" />   
    </form>

    <form action="available_evidence">
        <input type="checkbox" name="vehicle" value="Bike"> Facebook<br>
        <input type="checkbox" name="vehicle" value="Car" checked> Facebook Messenger<br>
        <input type="checkbox" name="vehicle" value="Bike"> Twitter<br>
    </form>

PHP_function.php文件中使用以下数组:

if(in_array("Facebook.xml", $dirArray)){

    $IfPresentArray[0]="1";
    }else {
    $IfPresentArray[0]="0";
}
foreach ($IfPresentArray as $value) {
    echo "$value<br />'n";
}

我对PHP和HTML很陌生,我已经用这个敲打了一段时间了。

任何帮助将不胜感激。

您正在使用 AJAX,因此您的所有通信都需要在该介质上来回进行。 简而言之,您的PHP脚本(由ajax调用的脚本)将echo JSON值(通常由json_encode($myarray)创建),然后这将在客户端上提供给您的javascript。

快速谷歌搜索"jquery ajax json example"应该会给你一些关于它如何组合在一起的好主意。

这是上面其中一个谷歌链接的客户端 - 请注意.done部分

<script type="text/javascript">
$(document).ready(function(){
  $(':submit').on('click', function() { // This event fires when a button is clicked
    var button = $(this).val();
    $.ajax({ // ajax call starts
      url: 'serverside.php', // JQuery loads serverside.php
      data: 'button=' + $(this).val(), // Send value of the clicked button
      dataType: 'json', // Choosing a JSON datatype
    })
    .done(function(data) { // Variable data contains the data we get from serverside
      $('#wines').html(''); // Clear #wines div
      if (button == 'all') { // If clicked buttons value is all, we post every wine
        for (var i in data.red) {
          $('#wines').append('Red wine: ' + data.red[i] + '<br/>');
        }
        for (var i in data.white) {
          $('#wines').append('White wine: ' + data.white[i] + '<br/>');
        }
      }
      else if (button == 'red') { // If clicked buttons value is red, we post only red wines
        for (var i in data) {
          $('#wines').append('Red wine: ' + data[i] + '<br/>');
        }
      }
      else if (button == 'white') { // If clicked buttons value is white, we post only white wines
        for (var i in data) {
          $('#wines').append('White wine: ' + data[i] + '<br/>');
        }
      }
    });
    return false; // keeps the page from not refreshing 
  });
});
</script>

您可以将数组存储在 $_SESSION 变量中,但您必须在两个页面上都使用 session_start();

在您的 php 页面上,使用: $_SESSION['array'] = $array;然后在主页上通过反向检索数组:$array = $_SESSION['array'];

您现在可以在主页上使用上述数组。检索特定值:$value1 = $_SESSION['array'][0];

供进一步参考:

数组作为会话变量