Выполнить php-файл с помощью Ajax

Когда я нажимаю кнопку «Зарегистрировать сейчас», я хочу выполнить «input.php», в которой у меня есть код для вставки моих данных в базу данных и отображения успешного сообщения. Я не хочу оставлять текущую страницу.

<input type="button" id="confirm" value="Register Now" class="button"> <script type="text/javascript"> $(document).ready(function() { $("#confirm").click(function() { <?php include 'input.php'; ?> alert ("data Added successfully."); }); }); </script> 

Мой код дает мне сообщение «данные успешно добавлено», но файл PHP не выполнен и данные не добавляются в базу данных. Все необходимые данные относятся к переменным сеанса.

Solutions Collecting From Web of "Выполнить php-файл с помощью Ajax"

Предложите вам попробовать что-то вроде ниже. Вы не должны пытаться выполнить PHP внутри сценария jQuery. Сделайте вызов AJAX и передайте данные и обработайте их на PHP, а не полагайтесь на переменные сеанса. Например:

 <script type="text/javascript"> $(document).ready(function () { $("#confirm").click(function () { $.ajax({ type: "POST", url: "index.php", data: { firstname: "Bob", lastname: "Jones" } }) .done(function (msg) { alert("Data Saved: " + msg); }); }); }); </script> 

Где firstname, lastname будут вашими обычными данными сеанса.

Вы можете узнать больше о функции jQuery.ajax () в документации API jQuery .

Чтобы выполнить скрипт Php из javascript, вы должны использовать Ajax.

следующий код:

 $("#confirm").click(function() { <?php include 'input.php'; ?> alert ("data Added successfully."); }); 

не будет работать

http://api.jquery.com/jquery.ajax/

вы можете сделать это методом ajax post.

  $.ready(function(){ $("#confirm").click(function() { $.ajax({ type: "POST", url: "give url to the input.php file ", data:, success:function(data) { alert('data');// data is the return value from input.php } }); }); 

});

Вам нужно использовать AJAX. Ajax – это концепция вызова php-файлов из javascript изнутри страницы. Затем вы получаете выход php-страницы в переменной, и вы можете выбрать, будет ли вы отображать его или нет. Пример этой технологии – показать больше сообщений Facebook. Это можно легко сделать с помощью jQuery.

 $.post( PHP_FILE, { field1: 'value', field2: 'value'}).done(function( data ) {alert("this function will be run when the request is over and the variable data will have the output : " + data);}); 

Попробуй это:

 <input type="button" id="confirm" value="Register Now" class="button"> <script type="text/javascript"> $(document).ready(function() { $("#confirm").click(function() { $.get('input.php'). success(function(){ alert ("data Added successfully."); }); }); }); </script> 

Я не совсем уверен, что вы пытались сделать там. В любом случае, вот фрагмент js, который должен сделать для вас (я уверен, что в новом выпуске jQuery есть лучший способ сделать это):

 $.ajax({ url: "input.php", success: function(data) { // here, for example, you load the data received from input.php into // an html element with id #content and show an alert message $("#content").html(data); alert("Success") } });