任何幫助將不勝感激。PHP將變量傳遞給另一頁
我有2頁 1. products.php 2. product_mysql.php 我想從products.php傳遞一個變量來product_mysql.php和products.php
我返回結果在「product_mysql.php?partNo = 12807」上得到正確的結果,但我需要在products.php?partNo = 12807上。
如果我在SELECT查詢中將partNo硬編碼爲「12807」,它會在products.php上返回正確的結果。
product_mysql.php
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("localhost", "root", "root", "prod_db");
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
$partNoid = $_GET['partNo'];
$result = $conn->query("SELECT partNo, productName, unitPrice FROM tblProducts WHERE partNo=$partNoid");
$outp = "[";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "[") {$outp .= ",";}
$outp .= '{"PartNo":"' . $rs["partNo"] . '",';
$outp .= '"productName":"' . $rs["productName"] . '",';
$outp .= '"unitPrice":"'. $rs["unitPrice"] . '"}';
}
$outp .="]";
$conn->close();
echo($outp);
?>
products.php
<h1>Customers</h1>
<div id="id01"></div>
<script>
var xmlhttp = new XMLHttpRequest();
var url = "product_mysql.php";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < arr.length; i++) {
out += "<tr><td>" +
arr[i].PartNo +
"</td><td>" +
arr[i].productName +
"</td><td>" +
arr[i].unitPrice +
"</td></tr>";
}
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
</script>
</body>
</html>
我希望這不是一個生產網站。您將數據庫**全部打開**到SQL注入。 – Darren
嗨達倫,沒有它的不生產,作爲一個新手任何幫助保護將是有益的。我能做些什麼來解決? 供參考。這個代碼是直接從w3schools網站,所以這是令人失望的。 – James
您最好閱讀「PDO」或Mysqli Prepared Statements。此外,避免w3schools,閱讀[w3fools.com](http://www.w3fools.com) – Darren