Когда я нажимаю кнопку «Зарегистрировать сейчас», я хочу выполнить «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 не выполнен и данные не добавляются в базу данных. Все необходимые данные относятся к переменным сеанса.
Предложите вам попробовать что-то вроде ниже. Вы не должны пытаться выполнить 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."); });
не будет работать
вы можете сделать это методом 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") } });