Мне нужно запустить php-класс из javascript-функции.
код:
<input type="button" name="Submit" value="Submit" class="opinionbox" onclick="verifyControl('<?=$control_no?>')"/> function verifyControl(rNo) { Cont_no=document.getElementById("ContNo").value; if(rNo==Cont_no) { frames['frame1'].print(); showPage('payment'); } else if(rNo!=Cont_no) { alert("invalid control no"); } }
мне нужно запустить код
$data = $obj_com -> getSelectedData('tbl', 'control_no', $contno); $control_no = $contno; $obj_com -> recordPay('tbl',$contno);
внутри verifyControl()
как я могу это сделать?
Вы не можете «вызвать» класс PHP из Javascript, потому что Javascript запускается на стороне клиента (т. Е. В браузере), в то время как PHP запускается на сервере. Однако вы можете сделать асинхронный вызов скрипта PHP, получить его вывод и сделать забавные вещи с помощью javascript. Это называется AJAX. Если вы собираетесь идти по этой дороге, вам настоятельно рекомендуется использовать библиотеку, например jQuery, и учиться там. Вот несколько вопросов, которые помогут вам начать (проверьте ответы):
Чтобы вызвать PHP-код из Javascript, учитывая, что PHP выполняется на сервере, а на клиенте выполняется Javascript, вам нужно будет настроить какой-то интерфейс на сервере, к которому можно получить доступ удаленно.
Вы также можете быть в курсе последствий безопасности для этого. В частности, если вы хотите убедиться, что только ваши пользователи будут называть ваш сервер таким образом, то есть если вредоносный пользователь, вызывающий этот код, может нанести ущерб, вам понадобится какая-то аутентификация.
Вам также необходимо будет определить протокол для обмена данными между клиентом и сервером.
Протоколы, такие как SOAP и XML-RPC, определяют все, что вам нужно для удаленного вызова процедур на сервере. Или вы можете сворачивать самостоятельно, просто позвонив по определенному URL-адресу и получив определенный результат в определенном формате (JSON может помочь) с сервера.
вы можете использовать Brent Ashley jsrsClient.js или $ .ajax jQuery Javascript lib.