как вызвать функцию php при нажатии кнопки

Это два файла

Calling.php

<html> <body> <form action="Called.php" method="get"> <input type="button" name="B1" value="B1"> <input type="button" name="B2" value="B2"> <input type="Submit" name="Submit1"/> <!-- <a href="http://www.google.com?act=google">Google</a> <a href="http://www.yahoo.com?act=yahoo">yahoo</a> --> </form> </body> </html> 

И Called.php

 <?php if(isset($_GET("Submit1"))) { echo("<script>location.href = 'http://stackoverflow.com';</script>"); } if(isset($_GET["B1"])) { echo("<script>location.href = 'http://google.com/';</script>"); exit(); } if(isset($_GET["B2"])) - List item { echo "<meta http-equiv='refresh' content='0;url=http://www.yahoo.com'>"; exit(); } ?> 

Когда я нажимаю кнопки «B1» и «B2», страница будет мигать, но теперь, когда перенаправление и третья кнопка «Отправить» переадресуются на новую страницу, и я получаю ее как «Called.php».

Прошу потратить несколько секунд для этого начинающего php.

Вы не можете напрямую, потому что нажатие кнопки – это активность на стороне клиента, а PHP – серверная. Если вы сделаете все входные данные, то тот, который нажал пользователь, будет отправлен как часть массива $ _GET, но это работает только в том случае, если пользователь нажимает на один из них и не отправляет форму, скажем, нажав Enter в тексте вход.

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

EDIT: Я должен отметить, что ваш метод перенаправления, по меньшей мере, нелогичен. Вы можете просто использовать header () для перенаправления, это было бы намного чище, чем все это возиться с эхом от javascript.

Для этого вам нужно использовать Ajax. Если вы используете jQuery ajax, код будет выглядеть примерно так:

 $(function(){ $('input[type="button"]').click(function(){ var name = $(this).attr('value'); $.ajax({ type :'GET', url : 'Calling.php', data :{name:name} success : function(data) { //do smthng } }) }) }) 

// Код не проверен. Необходимо проверить.