8 ответов:
во-первых, поймите, что у вас есть три языка, работающих вместе.
PHP: запускается только сервером и отвечает на запросы, такие как нажатие на ссылку (GET) или отправка формы (POST).
HTML & JavaScript: выполняется только в чьем-то браузере (за исключением NodeJS).
Я предполагаю, что ваш файл выглядит примерно так:
<html> <?php function runMyFunction() { echo 'I just ran a php function'; } if (isset($_GET['hello'])) { runMyFunction(); } ?> Hello there! <a href='index.php?hello=true'>Run PHP Function</a> </html>потому что PHP отвечает только на запросы (GET, POST, PUT, PATCH, и удалить через $_REQUEST), вот как вы должны запустить функцию PHP, даже если они находятся в одном файле. Это дает вам уровень безопасности: "должен ли я запускать этот скрипт для этого пользователя или нет?".
Если вы не хотите обновлять страницу, вы можете сделать запрос на PHP без обновления с помощью метода, называемого асинхронным JavaScript и XML (AJAX).
что-то вы можете посмотреть на YouTube. Просто найдите "jQuery ajax"
Я рекомендую Laravel любой новый, чтобы начать прямо: http://laravel.com/
в javascript, сделать функцию ajax,
function myAjax() { $.ajax({ type: "POST", url: 'your_url/ajax.php', data:{action:'call_this'}, success:function(html) { alert(html); } }); }тогда звоните из html,
<a href="" onclick="myAjax()" class="deletebtn">Delete</a>и в вашем ajax.php,
if($_POST['action'] == 'call_this') { // call removeday() here }
вам придется сделать это через AJAX. Я настоятельно рекомендую вам использовать jQuery, чтобы сделать это проще для вас....
$("#idOfElement").on('click', function(){ $.ajax({ url: 'pathToPhpFile.php', dataType: 'json', success: function(data){ //data returned from php } }); )};
Это можно сделать и с довольно простым php если это ваша кнопка
<input type="submit" name="submit>и это ваш PHP-код
if(isset($_POST["submit"])) { php code here }код get вызывается при отправке get's posted, что происходит при нажатии кнопки.
попробовать сделать что-то вроде этого:
<!--Include jQuery--> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> function doSomething() { $.get("somepage.php"); return false; } </script> <a href="#" onclick="doSomething();">Click Me!</a>
Я думаю, что следующая программа поможет вам получить представление о вызове функций на нажатия кнопки в PHP
<?php if($_GET['button1']){fun1();} if($_GET['button2']){fun2();} function fun1() { //This function will update some column in database to 1 } function fun2() { //This function will update some column in database to 2 } ?> <!DOCTYPE html> <html> <head> <title>Button click by Vishnu Sivan</title> </head> <body> <button id="btnfun1" name="btnfun1" onClick='location.href="?button1=1"'>Update to 1</button> <button id="btnfun2" name="btnfun2" onClick='location.href="?button2=1"'>Update to 2</button> </body> </html>
Это самый простой из возможных способов. Если форма размещена через post, выполните функцию php. Обратите внимание, что если вы хотите выполнять функцию асинхронно (без необходимости перезагрузки страницы), то вам понадобится AJAX.
<form method="post"> <button name="test">test</button> </form> <?php if(isset($_POST['test'])){ //do php stuff } ?>
попробуйте этот, он будет работать нормально.
<script> function echoHello(){ alert("<?PHP hello(); ?>"); } </script> <?PHP FUNCTION hello(){ echo "Call php function on onclick event."; } ?> <button onclick="echoHello()">Say Hello</button>
Comments