События при нажатии кнопки 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»);

>

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

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

Источник

События на кнопку

как создать графический объект, например кнопку, из события «нажатие на другую кнопку»
Возник вопрос.. как можно создать кнопку или другой графический объект, например Rectangle из.

Два события на кнопку
Отключать и включать таймер требуется одной кнопкой. Как оформить

Обработчик события на кнопку
При загрузке страницы на канве рисуется фигура и ее можно всячески модифицировать. Мне надо сделать.

2 события на одну кнопку
Привет, друзья! очень нужна Ваша помощь) в общем, есть форма подписки smartresponder-a, в ней 3.

if (isset($_POST['submit'])) //если юзер нажал на кнопку { //здесь вставляешь свою функцию }

Добавлено через 8 минут
и снова у меня ошибка маленькая))

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
 

Введите имя

Введите фамилию

Введите должность

if (isset($_POST[name])) {$name =$_POST[name];} if (isset($_POST[fam])) {$fam =$_POST[fam];} if (isset($_POST[dolg])) {$dolg =$_POST[dolg];} if (isset($name) && isset($fam) && isset($dolg)) { ////добавлнеие в БД ////////////////////////////////////////////// $result = mysql_query("INSERT INTO firma(name,fam,dolg) VALUES ('$name','$fam','$dolg')" ); ////////////////////////////////////////////////////////////////// if ($result =='true') { echo "Инфа добавлена"; } else { echo "инфа не добавлнена "; } } ?>

вот одна кнопка и поля,заполняю поля и добавляю в базу

input name="submit" type="submit" value="Наджи">
 if (isset($_POST['submit'])) //если юзер нажал на кнопку { set(); } ?>

проблема заключается в том что при нажатие на кнопку — «Наджи» происходит не то действие,идёт добовление в базу пустых полей,а мне надо что бы выполнялось нижние условие с if-ом кторое, подскажите что делать

Эксперт HTML/CSSЭксперт PHP

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

if (isset($_POST[name])) {$name =$_POST[name];} if (isset($_POST[fam])) {$fam =$_POST[fam];} if (isset($_POST[dolg])) {$dolg =$_POST[dolg];}

у вас одинаковые названия кнопок — submit. измените их. это раз
а второе — если я вас правильно понял, то вам надо этот код переместить в условие если нажата клавиша наджи

if (isset($_POST[name])) {$name =$_POST[name];} if (isset($_POST[fam])) {$fam =$_POST[fam];} if (isset($_POST[dolg])) {$dolg =$_POST[dolg];}

тут всё нормально не ругается

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

Эксперт HTML/CSSЭксперт PHP

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

и у вас не было ошибки «Use of undefined constant..»?
если нет, то у вас наверное register_globals=on а это плохо

form action="dobovlenie.php" method="post" name="form"> p>Введите имяbr>input name="name" type="text"size="20"maxlength="40">/p> p>Введите фамилиюbr>input name="fam" type="text"size="20"maxlength="40">/p> p>Введите должностьbr>input name="dolg" type="text"size="20"maxlength="40">/p> p>input name="submit" type="submit" value="Добавить">/p> /form>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 if (isset($_POST['submit'])) //если юзер нажал на кнопку добавить { if (isset($_POST['name'])) {$name =$_POST['name'];} if (isset($_POST['fam'])) {$fam =$_POST["fam"];} if (isset($_POST['dolg'])) {$dolg =$_POST['dolg'];} if (isset($name) && isset($fam) && isset($dolg)) { ////добавлнеие в БД ////////////////////////////////////////////// $result = mysql_query("INSERT INTO firma(name,fam,dolg) VALUES ('$name','$fam','$dolg')" ); ////////////////////////////////////////////////////////////////// if ($result =='true') { echo "Инфа добавлена"; } else { echo "инфа не добавлнена "; } } } ?>
input name="button" type="submit" value="Наджи">
 if (isset($_POST['button'])) //если юзер нажал на кнопку наджи { set(); } ?>

если я вас правильно понял
либо можно оставить одинаковые имена, но тогда еще дополнительные условия ставить, какое значение у этих кнопок

if (isset($_POST['submit'])&&$_POST['submit']=='Наджи') //если юзер нажал на кнопку и значение у нее (value) - наджи { .. }

и кстати по поводу вашей функции — лучше использовать просто while вместо do — while, потому что если у вас там будет ошибка, то цикл все равно прогонит его.

Обработчик события нажатия на кнопку
Народ, моделирую ситуацию: Есть какой-то счетчик. Он начинается с 0. Во время работы приложения.

Два события на одну кнопку
Добрый день. Как можно повесить два события на одну кнопку? Допустим, есть кнопка, она на.

Как прописать события на кнопку?
Имеется код на прорисовку кнопки и событие клик этой кнопки, как на него можно прописать ещё.

Пояснение для события на кнопку
Подскажите пожалуйста. Задание такое: Создать таблицу Студенты. Работу с базой данных.

Источник

Как отследить нажатие на кнопку 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 из того хранилища которое выбрали (Сессия или база данных . )

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

Есть ли волшебный метод, чтобы запретить var_export вытащить приватные поля класса?

Источник

Как в php сделать событие onclick как в джаваскрипте?

f.txt:
1
Мне нужно сделать при клике на «+» чтобы число увеличивалось на 1 и потом записывалось в файл. Скажем так мини-ситема лайков.

Простой 10 комментариев

mad_maximus

Хороший код. Его должно хватить, чтобы onclick сделать, открыть файл, сжать его три раза, сконвертировать в три формата и отправить письмо на почту администратора в полночь. Другими словами, как в js не получится, но вы можете отправить событие, когда обработчик откроет файл.

dark_tke

Его нельзя сделать силами JS. Можно вызывать из js скрипт, на который будет отвечать php. По другому никак

Maksclub

Sergomen

Sergomen

mad_maximus

dark_tke

Sergo Zar, по нажатии кнопки или события, которое генерирует js или пользователь. Не забывайте, php это серверный язык, чтобы он что-то делал в ответ на действия пользователя, ему нужно это передать. Варианта основных два, действия выполняемое скриптом, например js (ajax) в ответ на действия пользователя, или форма, отправляя которую происходит действие в скрипте

Sergomen

mad_maximus

Sergo Zar, мы еще и аналогии не умеем приводить. Я как раз-таки сначала учил алфавит, а не пытался писать сочинения. Вам бы тоже следовало подучить язык, а не просить всем тостером вам помогать. Вы даже минимального апи языка не знаете и схему работы сервера, о чем речь вообще, лентяй.

Sergomen

kafkiansky, спорить не буду что знаю я немного. Я не просил всем тостером помогать. Не хочешь — не помогай. Я никого не заставляю.

Источник

Читайте также:  Массивы питон поиск элемента
Оцените статью