Привет всем Я новичок в php. Я пробовал эту вещь, когда пользователь вводил имя продукта, чтобы подтвердить, что продукт действителен или нет. Для этой цели я использовал событие onchange при вводе текста. Функция onchange вызовет функцию javascript. Из функции javascript я вызываю php, который находится в том же файле. Поэтому, когда я вхожу в имя продукта как-то php функция не работает.вызов функции Php из функции Javascript с использованием ajax
Вот мой код:
<?php
include 'conf.php';//it contains the php database configuration
session_start();
$quantityRequired=0;
$productName_error="";
if(is_ajax()){
if(isset($_POST["productName"])){
$productName=$_POST["productName"];
$row=mysqli_query($conn,"SELECT * from OrderDetails where ProductName='".$productName."'");
if($row)
{
$result=mysqli_fetch_assoc($row);
$quantityRequired=$result["Quantity"];
}
else
{
$productName_error="The product name is not valid or product does not exist";
echo $productName_error;
}
}
}
function is_ajax() {
$flag=(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
return $flag;
}
?>
<html>
<head>
<title>Order Page </title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
<label for="userName">Username</label><br>
Product Name<input type="text" name="productName" id="productName" onchange="validateProduct()"><?php echo $productName_error?><br>
Quantity Required<input type="text" name="quantityRequired" id="quantityRequired"><br>
Availability<input type="text" name="availability">
<p id="demo"></p>
</form>
<script>
function validateProduct()
{
$.ajax({
type: "POST"
});
}
</script>
</body>
</html>
поэтому код, когда пользователь вводит продукт name.The функция Validate продукт called.From проверить продукт будет вызывать PHP, который находится в той же файл. Функция is_ajax()
используется для проверки того, является ли запрос ajax или нет.
я сделал изменения, но тогда тоже код не working.I думаю is_ajax() вызывает проблему. –
@APPYSHAH: Почему вы так думаете? Какую отладку вы сделали, чтобы подтвердить это? Я подозреваю, что вы действительно не нуждаетесь в функции 'is_ajax()' в любом случае. Просто поместите свой код AJAX на свою страницу и возьмите запрос AJAX. Каждый серверный ресурс должен выполнять свои собственные обязанности, а не комбинировать несколько разных ресурсов на одной странице с кучей операторов 'if'. – David
Я попытался удалить is_ajax(), но потом тоже не работает. –