Выполнить функцию PHP из скрипта Javascript - PullRequest
1 голос
/ 01 мая 2020

Я посмотрел на все вопросы здесь и просто не могу разобраться с этим или заставить его работать. Я просто хочу использовать кнопку, которая запускает скрипт, который выполняет функцию php.

HTML:

<button id="update_submit" type="button" onClick="myFunction()">Update</button>

Скрипт:

                    <script>
                        function myFunction(){
                            if (document.getElementById("drug_text_name").value=="") {
                                alert( "I am an alert box!" );
                            } else {
                            $.ajax({url: "../script.php", success: function(result){
                                window.location.href = '../drug_manager.php';
                                }      
                                   });
                            }
                        }
                    </script>

PHP file:

<?php
// including the database connection file

    include_once("../../includes/dbh.inc.php");
    $result = mysqli_query($conn, "UPDATE drugs SET Drug_Name='$Drug_Name' ,Allergies='$Allergies' ,Side_effects='$Side_effects' ,Type_of_Medication='$Type_of_Medication',Dosage='$Dosage' WHERE Drug_ID=$Drug_ID");

?>

Здесь я бы хотел выполнить запрос SQL, а затем перенаправить пользователя на страницу /drug_manager.php.

1 Ответ

3 голосов
/ 01 мая 2020

Прежде всего, вы не можете выполнить PHP -функцию в JavaScript, потому что PHP выполняется на стороне сервера, а JavaScript - на стороне клиента. В вашем примере ваш PHP -файл ничего не делает, потому что тестовая функция никогда не выполняется. Если вы выполните тестовую функцию, вызов ajax будет перенаправлен в это место, подробнее об этом здесь .

Если вы хотите, чтобы пользователь перенаправлялся, когда он нажимал кнопку, которую вы может просто перенаправить их с помощью window.location.href, что-то вроде этого:

<script>
$("#update_submit").on('click', function(){
    window.location.href = '../script.php';
)};
</script>

Если вы хотите, чтобы PHP решал, куда следует перенаправить пользователя, ваш PHP -файл может вернуть URL и затем вы используете window.location.href для этого URL. Примерно так:

PHP:

<?php
function test() {
    echo "drug_manager.php";
}
test();
?>

Сценарий:

<script>
$("#update_submit").on('click', function(){

    $.ajax({
       url: '../script.php',
       dataType: 'json',
       success: function(data){
           window.location.href = data;
       }
    });
)};
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...