Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обработка нажатия кнопок

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Riska
Отправлено: 05 Мая, 2009 - 21:48:43
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Помогите пожалуйста.
На одной форме есть две кнопки, при нажатии на каждую из которых должно идти перенаправление разных данных по разным ссылкам. Как обработать это используя только PHP без скриптов. Как вообще определить, что нажалась кнопка??
 
 Top
vitaliy_mad
Отправлено: 05 Мая, 2009 - 21:50:42
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




Riska пишет:
Как обработать это используя только PHP без скриптов
интересная фраза....

JavaScript или разные формы делать
 
 Top
Viper
Отправлено: 06 Мая, 2009 - 07:59:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




ajax вам в помощь


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Вездеход
Отправлено: 06 Мая, 2009 - 08:31:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




Riska
кнопке имя пропишите. а оба обработчика в один файл сделайте, который будет обрабатывать присланные данные по разному - в зависимости от нажатой кнопке.

вот даже тупо пример на этом форуме:
Цитата:

<input type="submit" name="submit" value="Отправить">
<input type="submit" name="preview" value="Предварительный просмотр">
<input type="reset" name="Clear" value="Очистить">


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Champion Супермодератор
Отправлено: 06 Мая, 2009 - 08:56:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Да, Riska, php-обработчик у формы один, а в нем уже в зависимости от того, какая кнопка нажата
CODE (text):
скопировать код в буфер обмена
  1. if isset($_POST[btn1_name]) ...
  2. if isset($_POST[btn2_name]) ...

делать те или иные вещи.

Ну или все-таки javascriptoм перед сабмитом action у формы поменять.
(Добавление)
Кстати,
Riska пишет:
перенаправление разных данных по разным ссылкам.
Тогда вообще просто разные формы...
 
 Top
CodeWarrior
Отправлено: 07 Мая, 2009 - 10:43:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




Вот кнопки (находятся они к примеру в index.php):
CODE (text):
скопировать код в буфер обмена
  1. <input type="submit" name="button1" value="button 1">
  2. <input type="submit" name="button2" value="button 2">

Вот обработчик (находится он в файле который выполняется при нажатии на кнопку):
PHP:
скопировать код в буфер обмена
  1. <?
  2. if (@$_REQUEST['button1']) {
  3. // Обрабатываем нажатие на первую кнопку
  4. }
  5. if (@$_REQUEST['button2']) {
  6. // Обрабатываем нажатие на вторую кнопку
  7. }
  8. ?>

А если используем разные файлы, то можно так:
PHP:
скопировать код в буфер обмена
  1. <?
  2. if (@$_REQUEST['button1']) {
  3. include("file1.php");
  4. }
  5. if (@$_REQUEST['button2']) {
  6. include("file2.php");
  7. }
  8. ?>

(Отредактировано автором: 07 Мая, 2009 - 10:45:08)

 
 Top
SlavikSG
Отправлено: 12 Ноября, 2010 - 12:40:37
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Февр. 2008  


Помог: 0 раз(а)




Champion пишет:
Да, Riska, php-обработчик у формы один, а в нем уже в зависимости от того, какая кнопка нажата
CODE (text):
скопировать код в буфер обмена
  1. if isset($_POST[btn1_name]) ...
  2. if isset($_POST[btn2_name]) ...

делать те или иные вещи.

Ну или все-таки javascriptoм перед сабмитом action у формы поменять.

Сори за ап темы!
Нашел ее через Яндекс. Как раз то, что нужно. Именно так и нужно делать. Дать кнопкам имена и затем уже смотреть, какая из них была нажата. А javascript в моем случае - это лишнее. Нужно было сделать максимально просто. Большое спасибо за подсказку! Улыбка


-----
Нет в русском языке слова дешеГО. Есть слово дешеВО.
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Ноября, 2010 - 13:18:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Тольк смотреть по именам надо не:

if (...) {}
if (...) {}
if (...) {}
if (...) {}
if (...) {}
else {}

в этом случае обработчик если получит несколько обьявленных - обработает их все.
А вот так будет обрабатывать ТОЛЬКО ПОСЛЕДНИЙ ИЗ ОБЬЯВЛЕННЫХ:

if (...) {}
elseif (...) {}
elseif (...) {}
elseif (...) {}
elseif (...) {}
else {}

Ну например если одна кнопка чтото удаляет из базы, а другая добавляет - конфликта не будет... )))
 
 Top
brain105
Отправлено: 14 Сентября, 2012 - 11:00:37
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Здраствуйте
Надо отредактировать данныс с БД.
Сперва делаю селект SELECT * FROM $table
и вывожу все в таблицу, последняя ячейка в таблице
кнопка "Обновить".
Неприсваевается ИД, когда нажимаю на кнопку.

Делал по примеру http://www.html.by/threads/986-Urok-prakticheskogo-primenenija-PHP-MySQL.
там исправил некоторые ошибки и пример заработал.
Но когда в том же применере изменяю таблицу - перестает работать.
Скрин привожу отдельно новой таблицы (моей).
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. include "db.php";                       // Підключення до БД;
  3. ini_set('display_errors',1);
  4.  
  5. /* Если была нажата кнопка редактирования, вносим изменения */
  6. //if(@$submit_edit) {
  7. //if (isset($_POST['submit_edit'])) {
  8. if(@$_POST['submit_edit']) {
  9. //$query = "UPDATE $table SET name='$test_name', email='$test_mail', theme='$test_theme', message='$test_mess' WHERE id='$update'";
  10.  
  11. //$query = "UPDATE $table SET name='$test_name', email='$test_mail', theme='$test_theme', message='$test_mess' WHERE id='".$_POST['update']."'";
  12.  
  13. $query = "UPDATE $table SET name='".$_POST["test_name"]."', email='".$_POST["test_mail"]."', theme='".$_POST["test_theme"]."', message='".$_POST["test_mess"]."' WHERE id='".$_POST['update']."'";
  14.  
  15. //  '".$_POST["month"]."'
  16.  
  17. /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
  18. mysql_query($query) or die (mysql_error());
  19.  
  20. print "Test -->>  ";
  21. print_r ($query);
  22.  
  23. }
  24.  //print_r ($query);
  25.  
  26.  
  27. /* Заносим в переменную $res всю базу данных */
  28. $query = "SELECT * FROM $table";
  29. /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
  30. $res = mysql_query($query) or die(mysql_error());
  31. /* Узнаем количество записей в базе данных */
  32. $row = mysql_num_rows($res);
  33.  
  34. /* Выводим данные из таблицы */
  35. echo ("
  36. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
  37. <html xmlns=\"http://www.w3.org/1999/xhtml\">
  38. <head>
  39.    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
  40.    <title>Редактирование и обновление данных</title>
  41. <style type=\"text/css\">
  42. <!--
  43. body { font: 12px Georgia; color: #666; }
  44. h3 { font-size: 16px; text-align: center; }
  45. table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
  46. td { padding: 3px; vertical-align: middle; }
  47. input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
  48. textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
  49. .buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
  50. #num { width: 20px; text-align: right; margin-right: 5px; float: right; }
  51. -->
  52. </style>
  53. </head>
  54. <body>
  55. <h3>Редактирование и обновление данных в таблице MySQL</h3>
  56. ");
  57.  
  58. /* Цикл вывода данных из базы конкретных полей */
  59. while ($row = mysql_fetch_array($res)) {
  60.    echo "<form action=\"update_data.php\" method=\"post\" name=\"edit_form\">\n";
  61.   // echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n";
  62.         echo "<input type=\"hidden\" name=\"update\" value=\"".$row['id']."\" />\n";
  63.    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
  64.    echo "<tr>\n";
  65.    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div>".$row['data']."</b></i></td>\n";
  66.    //echo "</tr><tr>\n";
  67.    echo "<td>Имя пользователя:</td><td><input type=\"text\" value=\"".$row['name']."\" name=\"test_name\" /></td>\n";
  68.    //echo "</tr><tr>\n";
  69.    echo "<td>E-Mail пользователя:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
  70.    //echo "</tr><tr>\n";
  71.    //echo "<td>Тема сообщения:</td><td><input type=\"text\" value=\"".$row['theme']."\" name=\"test_theme\" /></td>\n";
  72.    echo "<td>Сообщение:</td><td><input type=\"text\" value=\"".$row['message']."\" name=\"test_mess\" /></td>\n";
  73.         //echo "</tr><tr>\n";
  74.    //echo "<td>Сообщение:</td><td><textarea name=\"test_mess\">".$row['message']."</textarea></td>\n";
  75.    //echo "</tr><tr>\n";
  76.    echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
  77.    echo "</tr></table></form>\n\n";
  78.        
  79.         print "<br>";
  80.         echo "row_id - while " .$row['id']."<br>";
  81.        
  82. }
  83.  
  84.         print "<br>";
  85.         echo "row_id " .$row['id']."<br>";
  86.  
  87. /* Закрываем соединение */
  88.  
  89. /* Выводим ссылку возврата */
  90. echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
  91.  
  92. ?>

Скачать файл: Projekt.rar
Скачан раз: 120


Отредактировано модератором: Мелкий, 08 Декабря, 2012 - 22:21:45
 
 Top
esterio
Отправлено: 08 Декабря, 2012 - 19:57:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




brain105
Сначала оформите тегом PHP, а то сложно читать код
 
 Top
73Алексей
Отправлено: 11 Февраля, 2016 - 20:32:02
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




SlavikSG пишет:
Champion пишет:
Да, Riska, php-обработчик у формы один, а в нем уже в зависимости от того, какая кнопка нажата
CODE (text):
скопировать код в буфер обмена
  1. if isset($_POST[btn1_name]) ...
  2. if isset($_POST[btn2_name]) ...

делать те или иные вещи.

Ну или все-таки javascriptoм перед сабмитом action у формы поменять.

Сори за ап темы!
Нашел ее через Яндекс. Как раз то, что нужно. Именно так и нужно делать. Дать кнопкам имена и затем уже смотреть, какая из них была нажата. А javascript в моем случае - это лишнее. Нужно было сделать максимально просто. Большое спасибо за подсказку! Улыбка


А если на кнопке не находится ни одного имени:

<div class="mt wow bounceInRight"><a data-toggle="modal" href="http://rishat84.e-autopay.com/ordering/add_to_order.php?order_id=&tovar_id=114439" class="btn btn-lg btn-custom">Добавить в посылку</a></div>

<div style="text-align: center;"><a href="1.html"><b>Нет,
я отказываюсь от вторых часов COBRA со скидкой 75%</b></a></div>

и они находятся в другом файле с сайтом. Как заставить пойти туда скрипт и снять с них данные, если на них нажмёт покупатель?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB