любая помощь будет оценена.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.
Если я жестко закодирую partNo на «12807» в запросе SELECT, он вернет правильный результат на 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 Injection. – Darren
Привет, Даррен, не его производство, будучи новичком, любая помощь в обеспечении безопасности была бы полезна. Что я могу сделать для решения? FYI. этот код прямо из сайта w3schools, так что это разочаровывает. – James
Лучше всего читать в отчетах «PDO» или «Mysqli Prepared». Кроме того, во избежание w3schools, прочитайте [w3fools.com] (http://www.w3fools.com) – Darren