处理供应商/产品的CVE的JSON元素。如果该语句旨在从JSON中为先前选择的供应商收集所有产品。
但是,if语句始终返回不同供应商的产品,但是似乎没有任何一致性。
如果/如何关闭逻辑,需要帮助进行故障排除。
我已将SelectedVendorValue作为“值”传递给JS函数,并将其存储为cookie。然后捕获该cookie并将其存储在PHP中,以处理所选供应商的JSON产品元素。
我尝试将更多元素添加到PHP if语句中,例如if存在,if true,if ==,if ===。但是,如果供应商名称与所选值匹配,它们都不会放入if语句中。
我正在运行JS alert()来证明(作为对我的健全性检查)该元素已正确传递。
<script type="text/javascript">
function ProductLoad(value) {
alert(value);
document.cookie = "selectedvalue=" + value;
<?php
$SelectedValue = $_COOKIE["selectedvalue"];
$VendorProduct = [];
$ProductList = null;
foreach ($json_a['CVE_Items'] as $element => $value1) {
if ($value1['cve']['affects']['vendor']['vendor_data']['0']['vendor_name'] == $SelectedValue) {
array_push($VendorProduct, $value1['cve']['affects']['vendor']['vendor_data']['0']['product']['product_data']['0']['product_name']);
}
}
foreach ($VendorProduct as $product_value => $p) {
$ProductList .= '<option value="' . $p . '">' . $p . '</option>';
}
?>
document.getElementById("product").innerHTML = '<?php echo $ProductList; ?>';
}
</script>
输出应为所选供应商的产品元素,但实际上,它返回的是随机供应商产品的产品元素。似乎没有任何一致性。