我希望能够在按钮单击时检查服务器端目录是否存在某些文件。
如果它们存在,我希望显示与该文件相对应的复选框。
到目前为止,我已经设法使用 PHP 和 AJAX 来检查文件是否存在并写入和数组:如果文件存在,则为 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];
供进一步参考:
数组作为会话变量