Php отследить нажатие на кнопку

Как определить функцию PHP при нажатии кнопки на форме

Я создал страницу под названием functioncalling.php, которая содержит две кнопки : Submit и Insert. Я хочу проверить, какая функция выполняется при нажатии на кнопку. Я хочу, чтобы вывод появлялся на той же странице. Поэтому я создал две функции, по одной для каждой кнопки.

function select()

echo » Вызывается функция select.»;

>

function insert()

echo » Вызывается функция insert.»;

>

?>

Проблема в том, что я не получаю никакого вывода после нажатия на любую из кнопок. Где именно я ошибаюсь?

Ответ 1

Здесь необходим Ajax. Пожалуйста, обратитесь к приведенному ниже коду для получения более подробной информации. Измените вашу разметку следующим образом:

HTML

jQuery:

$(document).ready(function()

$(‘.button’).click(function()

var clickBtnValue = $(this).val();

var ajaxurl = ‘ajax.php’,

data = ;

$.post(ajaxurl, data, function (response)

// Response div goes here.

alert(«action performed successfully»);

>);

>);

>);

ajax.php

if (isset($_POST[‘action’]))

switch ($_POST[‘action’])

case ‘insert’:

insert();

break;

case ‘select’:

select();

break;

>

>

function select()

echo » Вызывается функция select.»;

exit;

>

function insert()

echo » Вызывается функция insert.»;

exit;

>

?>

Ответ 2

Нажатие на кнопку происходит на стороне клиента, в то время как PHP выполняется на стороне сервера, но этого можно добиться с помощью Ajax:

$(‘.button’).click(function()

$.ajax(

type: «POST»,

url: «some.php»,

data:

>).done(function( msg )

alert( «Data Saved: » + msg );

>);

>);

PHP:

function abc($name)

// Некоторый код

>

?>

Ответ 3

Вы не можете вызывать функции PHP, такие как нажатие на кнопку, из HTML. Потому что HTML находится на стороне клиента, а PHP работает на стороне сервера. Вам нужно либо использовать Ajax, либо сделать это так, как в приведенном ниже фрагменте кода:

if ($_GET)

if (isset($_GET[‘insert’]))

insert();

> elseif (isset($_GET[‘select’]))

select();

>

>

function select()

echo » Вызывается функция select.»;

>

function insert()

echo » Вызывается функция insert.»;

>

?>

Вы должны разместить данные формы, а затем проверить, нажата ли соответствующая кнопка.

Ответ 4

Ответ 5

Вы можете просто сделать это в php, для этого можно определить нажатие кнопки с помощью функции:

if(isset($_Post[‘button_tag_name’])

echo «Button Clicked»;

>

Для этого вы должны изменить свой код следующим образом:

if(isset($_Post[‘select’])

echo «Кнопка select нажата и должен быть выполнен метод select»;

>

if(isset($_Post[‘insert’])

echo «Нажата кнопка insert и должен быть выполнен метод insert»;

>

?>

//Это будет обработано на стороне клиента

function insert()

window.alert(«Вы кликнули на кнопке insert»);

>

function select()

window.alert(«Вы кликнули на кнопке insert»);

>

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Как отследить нажатие на кнопку php?

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

Если Вам нужно хранить значение переменной между запросами — для этого можно использовать например сессию или базу данных, или хранилище или.

С помощью отправки формы на сервер, либо с помощью AJAX-запроса, это наиболее распространённые способы.

FaFuChEG, уточните, в каком именно месте у Вас сложности или что именно нужно пояснить, т.к. я видимо не до конца понимаю Ваш вопрос. Кнопка, по умолчанию — отправляет на сервер форму (тег ), в которой она (кнопка) располагается. В этой форме соотв. Вы отправлять различные поля, значения которых в последствии можно получить в переменных $_GET и $_POST.

FaFuChEG, можете, только между вашими 1 и 2 произойдет еще много всего.
Да и перед 1 (эта кнопка не сама появится же).
А также вы наверняка захотите что-то сделать и после 2.

Immortal_pony

Кратко — нет. Добро пожаловать в мир скриптовых языков.

Все работает так:
1. Пользователь вбивает в адресной строке адрес вашего сайта
2. Сервер подготавливает ответ (html). В этот момент инициализируются перемнные, им задаются значения, и т.д.
3. Сервер передает заканчивает свою работу. Все перемнные удаляются из памяти.
4. Клиент получает данные от сервера.
5. Пользователь видит html, подготовленный сервером.

Последующие действия пользователя могут инициализировать новый запрос на сервер, но тогда ВСЕ пермеменные будут инициализовваться заново.

Никак. PHP работает на сервере, и не видит что там клиент нажимает.

Браузер должен отправить запрос на сервер, обычно с POST или GET запросом (есть и другие варианты, но эти два чаще всего).

Открой учебник по HTML и почитай как устроены ссылки и формы. Или ajax.

VladikLinnik

Посерчи AJAX.
Выглядеть решение будет примерно так — при клике на кнопку идет AJAX-запрос на сервер, в data отправляешь кнопку по которой кликнул, на сервере обрабатываешь и возвращаешь в браузер.

На принимающей стороне проверяете эту переменную в зависимости от нее выполняете нужный блок $current.
$current = $POST[name]; (или GET)
Только вместо $current==1 впишите $current==first и т. п.

Как-то так. Давно не кодил. Должно работать, надо проверить.

nikolaevevge

К Вашему ответу добавил бы ещё что нужно тег form добавить потому что его сейчас нет
А ещё у Вас ошибка не $POST а $_POST поправьте пожалуйста.

Видя отсутствие тега

и и присутствия onclick=»photo_three()» можно предположить что у вас технология AJAX. В этой JS функции вы должны вызвать php страницу с сервера и «использовать, например, сессию или базу данных, или хранилище или. » (то что сказал Евгений Вольф ) для сохранения результата нажатия. Например, мой.сайт.рф/photo_three.php или мой.сайт.рф/photo.php?current=three (так не делайте 🙂 — это только пример — безопасность к летит к черту). Нужно написать еще одну страницу на php, контроллер, Поищите AJAX+PHP .
Когда вы откроете страницу вашего php скрипта инициализируете переменную $current из того хранилища которое выбрали (Сессия или база данных . )

Войдите, чтобы написать ответ

Как правильно настроить Server-Sent Events в PHP?

Источник

как считывать нажатие кнопки?

Во общем говоря: как считывать нажатие кнопки? Тоесть человек нажал и после этого что — то происходит! Помогите плиззз!

Как запоминать нажатие кнопки?
У меня есть код: if( isset( $_POST ))< // что-то делает и внутри есть кнопка, которая направляет.

Нажатие кнопки по КД
Доброе время суток, нужно сделать нажатие кнопки каждые 60 мин. Есть такая вот кнопка. <input.

Нажатие кнопки на долго
Доброго времени суток, уважаемые. Столкнулся с такой вот проблемой. при нажатии на кнопку.

не отрабатывается нажатие кнопки
Привет не отрабатывается нажатие кнопки, пробовал еще ставить на onclick тогда код выполняется.

html> head>title>FORMtitle>head> body> form method="post" action="script.php"> input type="text" name="name"> input type="submit" value="Нажимаем и что то произойдет"> form> body> html>

вот простенька форма, которая методом post отправляет скрипту — script.php содержимое текстового поля, можно убрать

и будет одна кнопка, которая вызовет скрипт(script.php) в котором ты пишешь код, из за которого

ЦитатаСообщение от egorikem Посмотреть сообщение

Я это знаю ) Я имею ввиду другое! Вот у нас 4 кнопки: Главная, создать, переместить, удалить. По нажатию на одну из них вызывается определенный скрипт!

1 2 3 4 5 6 7 8 9 10 11 12 13
сделай так: form action="1.php"> input type="submit" value="Главная"> /form> form action="2.php"> input type="submit" value="Создать"> /form> form action="2.php"> input type="submit" value="Переместить"> /form> form action="2.php"> input type="submit" value="Удалить"> /form>

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

Добавлено через 1 минуту
Кстати вот еще вопрос:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
 $user = @$_GET['user']; $pass = @$_GET['pass']; $i = 0; if($user && $pass) { foreach (file("users.txt") as $current_user) { if($user == $current_user) { foreach(file("pass.txt") as $current_pass) { if($pass == $current_pass) { echo("Вы успешно вошли! Нажмите войти для перехода на вашу страницу!!"); print ("


"
); /* Как его заставить перейти по ссылке которая задается переменной $user? */ } } } else { $i++; } } } ?>

Источник

How to Check if the Submit Button Is Clicked in PHP

In this article, we will go over how you can check to see whether the submit button of a form has been clicked or not using PHP.

This is very useful and can be used often with form data in PHP, because when the web browser first loads a web form, PHP does not know whether the form, initially, has been clicked or not. It doesn’t know whether the user has entered data and submitted or not. This means that if you have a form field and it does an if-else statement, it may run one of the statements initially, which you probably don’t want. PHP cannot distinguished if a form has already been executed or it hasn’t, when initially loaded. So checking to see if the submit button has been clicked is important and useful in forms involving PHP.

Below is an typical form field that you would find on the web:

Result

Above is a form which asks a user to enter his or her name into the form field. If the user enters in characters into this field and clicks submit, then the form will tell the user the name which s/he entered. If the user leaves the field blank and clicks ‘Submit’, then the form will tell the user that s/he did not enter a name and that s/he must do so.

HTML Code

The HTML code of this form field is:

The most important part of this form field in HTML is the «name» of the submit button, which in this case is called «submitbutton». This will be important because our PHP code needs to extract information from this submit button, which is how it determines whether it has been clicked or not. PHP code knows which submit button to refer to by the «name» attribute of the submit button.

PHP code

The PHP code used to determine whether the submit button has been clicked is:

With the PHP Code, first we have to extract the data from the submit button before we can process it to check whether it is clicked or not. We do this by the line:

$submitbutton= $_POST[‘submitbutton’];

Here, we created a PHP variable, $submitbutton. Using the superglobal $_POST array, we extract the value of the submit button with the form name ‘submitbutton’, and assign it to the PHP variable, $submitbutton.

Now that we have the value extracted, we can do an if statement to see whether it is clicked or not. We do this by the following line:

if ($submitbutton) //This statement to be executed
>
else
//This statement to be executed
>

How we check to see if the submit button is clicked is with a simple if statement. If the $submitbutton is clicked, the function will return true. If the $submitbutton is not clicked, the function will return false. This simple if statement checks the boolean value of the variable.

Based on this, you can make any function or statement be executed.

In our example, if the submit button has been clicked, the form tells the user the name s/he has entered. If it hasn’t, then the form tells the user to enter a name.

If we didn’t do validation to check whether the submit button was clicked, then initially when the form is first loaded, since the field is empty (not set), the form would automatically tell the user that s/he must enter a name. This is because PHP doesn’t know at initial loading whether the user has interacted with the form already or not. The validation to check whether the submit button has been clicked demonstrates this.

Источник

Как определить какая кнопка нажата?

Не подходит потому, что у меня не 2 кнопки да и нет, у меня может быть вообще несколько сотен кнопок так как их количество зависит от количества строк которые мне придут по запросу от БД. У всех этих кнопок параметр name отличается и уникален. По сути параметр name у кнопки это поле id из строки, которая пришла из БД.

Как можно сделать так, чтобы нажав на кнопку с именем Х, это Х передалось бы в функцию вида:

function ViewDoc ($docid){ Грузим из бд документ с id $docid }

Определить какая кнопка нажата
Всем привет! я новичок в php и html если что не пинайте сильно) у меня есть html в котором есть.

Можно определить, какая конкретно кнопка submit нажата на форме?
Можно определить, какая конкретно кнопка submit нажата на форме?

Какая была нажата кнопка?
Доброго времени суток уважаемые форумчане. Есть скрипт, в нем много разных кнопок и пользователю.

Узнать, какая кнопка была нажата
Доброго времени суток! Тут возникла проблема и я зашел в ступор, буду благодарен за вашу помощь.

Эксперт PHP

button name="same_name_for_all_buttons" value="unique_id">button_title/button>

Источник

Читайте также:  Mysql queries in python
Оцените статью