Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какой метод выбрать? POST или GET  
:(
    Опции темы
Sliva
Дата 12.1.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



Добрый день  smile 
Вот опять проблема: на странице отображается список марок телефонов(они являются ссылками):
Sony Ericsson
Nokia 
Samsung
Simens 
....
При нажатии на любую из них появляется список всех моделей, которые есть у данной марки. Напротив каждой марки есть кнопка - удалить, изменить марку.
Так вот проблема, собственно в том, что я узнаю все конкретные модели выбранной марки с помощью id, который передаю методом GET. 
Код

// row[0] - id, row[1] - название модели
<a href = mark_mobile.php?id=$row[0]>$row[1]</a> 

Вот я и не могу понять как мне здесь организовать нажатие на кнопку, т.е. выполнение запроса, связанного с марками телефонов smile 
PM   Вверх
SqueeZe
Дата 12.1.2008, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 1.10.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 1



Не очень понятно, что должны делать кнопки "удалить марку", "изменить марку".
PM MAIL ICQ   Вверх
Sliva
Дата 12.1.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



На них навешивается запрос. При их нажатии - должен выполнятся запрос, который удаляет из базы или изменяет марку 
PM   Вверх
SqueeZe
Дата 12.1.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 1.10.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 1



Если это админка, то можно эти кнопки так же сделать ссылками

Код

<a href = mark_mobile.php?action=edit&id=$row[0]>Редактировать</a> 
<a href = mark_mobile.php?action=remove&id=$row[0]>Удалить</a> 


А в самом коде уже смотреть, какое действие нужно выполнить

Код

if(isset($_GET['action']) && $_GET['action'] != '') {
   switch($_GET['action']) {
      case 'edit':
             /// что делаем при редактировании
             break;
      case 'remove':
             /// что делаем при удалении
             break;
      default:
            /// просматриваем список моделей
            break;
   }
}


Это сообщение отредактировал(а) SqueeZe - 12.1.2008, 16:06
PM MAIL ICQ   Вверх
Sliva
Дата 12.1.2008, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



Цитата

Код

 <a href = mark_mobile.php?action=edit&id=$row[0]>Редактировать</a> 
<a href = mark_mobile.php?action=edit&id=$row[0]>Редактировать</a> 
<a href = mark_mobile.php?action=remove&id=$row[0]>Удалить</a>  


 А как действует action = edit? Что это такое, это событие??? Где можно почитать об этом? Спасибо за ваш ответ! Я новичок и поэтому про это ничего не знаю.
PM   Вверх
SqueeZe
Дата 12.1.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 1.10.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 1



Все, что идет после знака вопроса в URL имеет формат var1=value&var2=value&var3=value&varN=value

То есть это набор конструкций  переменная-значение, разделенных знаком амперсанда (&)

Все эти переменные можно получить в коде через глобальный массив $_GET['var'], где var, это имя одной из переменных.

То есть в данном случае в скрипте будет существовать переменная $_GET['action'], которой, в зависимости от ссылки будет присваиваться значение либо edit либо remove.

Switch распределяет действия в зависимости от значения переменной $_GET['action']. 

http://php-manual.info/switch.html
PM MAIL ICQ   Вверх
Sliva
Дата 12.1.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



 smile Ой, какая прелесть!!! СПАСИБО!!!!! 
PM   Вверх
GeneralElectric
Дата 12.1.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



К скриптам, которые производят изменения в базе данных, лучше обращаться методом POST.
Чтобы какой-нибудь робот случайно все ссылки не понажимал.

Поэтому я бы предложил сделать только ссылку на редактирование, а в форме редактирования добавить кнопку "удалить".
PM MAIL   Вверх
SqueeZe
Дата 12.1.2008, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 1.10.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 1



Цитата(GeneralElectric @ 12.1.2008,  16:57)
К скриптам, которые производят изменения в базе данных, лучше обращаться методом POST.
Чтобы какой-нибудь робот случайно все ссылки не понажимал.

Поэтому я бы предложил сделать только ссылку на редактирование, а в форме редактирования добавить кнопку "удалить".

Не обязательно. Удаление действительно вещь такая, с которой стоит быть поаккуратнее. Но я обычно делаю ссылку так, как указал, но она отсылает пользователя на страничку "Are you sure?"  smile  , в которой пользователь подтверждает свой выбор через POST.
PM MAIL ICQ   Вверх
FractalizeR
Дата 12.1.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



А можно вопрос Яваскриптом задавать по if(confirm()), чтобы без страницы обойтись.


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
Golda
Дата 12.1.2008, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Можно и javascript-ом, но безопаснее POST, если иметь в виду тех же роботов. Они-то javascript выполнять не будут


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
GeneralElectric
Дата 12.1.2008, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Golda, ну, тут как яваскрипт применять. если onclick="return confirm("r u sure"), то понажимают.
а если ссылка пустая, а яваскриптом изменять адрес, то вполне можно.

Другое дело, что поисковики сейчас все активнее учатся выполнять яваскрипт...
Так что по мне надёжнее кнопка POST с onclick="return confirm() 
PM MAIL   Вверх
Golda
Дата 12.1.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



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


Цитата(GeneralElectric @  12.1.2008,  19:20 Найти цитируемый пост)
надёжнее кнопка POST с onclick="return confirm()  

 smile 




--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
bars80080
Дата 14.1.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



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

?
PM MAIL WWW   Вверх
MoLeX
Дата 14.1.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



bars80080 тут пока вопрос не об этом, не надо человека нагружать дополнительной инфой, пусть с начало с той разбереться)))


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0657 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.