Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача переменных формы, через разные ссылки
 
 автор: paulluk   (31.07.2008 в 16:28)   письмо автору
 
 

В книжке написано: что для того чтобы обработать HTML-форму необходимо атрибуту action присвоить
URL адрес, который будет загружаться после щелчка пользователя на кнопке submit. Данные, введеные пользователем в форму отправляются по этому URL -адресу с помощью метода, указанного в атрибуте method: GET или POST.

Так вот вопрос собственно в том можно ли обработать форму без кнопки submit, например простыми ссылками, вызывающими определенные сценарии, в которых можно увидеть переменные формы???



<body>
    <form action="" name="test_form" method="">
    <input type="text" name="text1"><br>
    <input type="text" name="text2">
    </form><br><br>
    
    <a href="test1.php">Тест1</a><br>      
    <a href="test2.php">Тест2</a><br>    
    <a href="test3.php">Тест3</a><br>    
    <a href="test4.php">Тест4</a>        
</body>

  Ответить  
 
 автор: sim5   (31.07.2008 в 16:48)   письмо автору
 
   для: paulluk   (31.07.2008 в 16:28)
 

Можно, только форму в любом случае нужно отправить, и указать обязательно ей скрипт обработчик в action. В вашем случае, делать это лучше не так, а передавать по событию onclick (при чем, это не обязательно ссылка может быть), аргумент в JS функцию, или непосредственно, указывать в этом событии для объекта формы значение атрибута action, и отправлять форму.

  Ответить  
 
 автор: paulluk   (31.07.2008 в 17:11)   письмо автору
 
   для: sim5   (31.07.2008 в 16:48)
 

Ну допустим action я указал, а method??? и если нетрудно примерчик. спасибо!!!

  Ответить  
 
 автор: sim5   (31.07.2008 в 17:26)   письмо автору
 
   для: paulluk   (31.07.2008 в 17:11)
 

Понимаете, у вас сама логика не совсем понятна. Обычно принимая форму, скрипт обработчик может принять то или иное решение, которое будет зависить от принятых данных. Вы же пытаетесь отправить одни и те же данные разным обработчикам. Спрашивается, зачем? Даже, если предположить, что один из скриптов выведет эти данные на страницу раскрашенными, а другой обернутыми в рамочку, то это не повод обрабатывать одни и те же данные по много раз! Что вы пытаетесь сделать, какую задачу ставите?

  Ответить  
 
 автор: paulluk   (01.08.2008 в 15:22)   письмо автору
 
   для: sim5   (31.07.2008 в 17:26)
 

Хорошо допустим мне надо обработать данные находящиеся в форме. В зависимости от того какую из четырех ссылок(в приведенном выше коде) я буду нажимать, данные формы должны добавляться, изменяться или удаляться в базе данных. Как грамотно реализовать такую задачу?

  Ответить  
 
 автор: Yuriev   (01.08.2008 в 16:16)   письмо автору
 
   для: paulluk   (01.08.2008 в 15:22)
 

А если так:
обработчик один
форма одна
submit несколько
и в зависимости какая кнопка submit нажата работает обработчик

  Ответить  
 
 автор: sim5   (01.08.2008 в 16:24)   письмо автору
 
   для: paulluk   (01.08.2008 в 15:22)
 

Для примера:
<form action="" method="post">
<input type="text" name="txt"><br>
<input type="submit" name="add" value="Добавить"><br>
<input type="submit" name="upd" value="Обновить"><br>
<input type="submit" name="del" value="Удалить">
</form>
<?
next
($_POST);
switch (
key($_POST)) {
  case 
'add' : echo "Данные " $_POST["txt"] . " будут добавлены.";
  break;
  case 
'upd' : echo "Данные " $_POST["txt"] . " будут обновлены.";
  break;
  case 
'del' : echo "Данные " $_POST["txt"] . " будут удалены.";
}
?>

Что касается базы. Думаю, вы понимаете, что нельзя обновить или удалить несуществующие данные, а значит добавление и обновление/удаление, это уже разные задачи. Поэтому, тут в любом случае будут две различные формы (можно поизголяться и сделать одной, но смысла в этом большого нет), а вот скрипт обработчик может быть как один, так и разные: один для добавления, другой для обновления (редактирования) / удаления. Все зависит от того: кто и что добавляет/редактирует. При этом, во втором случае, форма может иметь две кнопки SUBMIT, по который вы определите - обновить или удалить данные.

  Ответить  
 
 автор: BinLaden   (01.08.2008 в 16:34)   письмо автору
 
   для: sim5   (01.08.2008 в 16:24)
 

htmlspecialchars()!

  Ответить  
 
 автор: sim5   (01.08.2008 в 16:44)   письмо автору
 
   для: BinLaden   (01.08.2008 в 16:34)
 

Как и все остальное. Ну что мне писать - пример или опус?)

  Ответить  
 
 автор: BinLaden   (01.08.2008 в 16:56)   письмо автору
 
   для: sim5   (01.08.2008 в 16:44)
 

Насчёт всего остального не знаю, а вот htmlspecialchars() тут необходима.

  Ответить  
 
 автор: sim5   (01.08.2008 в 17:03)   письмо автору
 
   для: BinLaden   (01.08.2008 в 16:56)
 

Вот товарищ конкретно когда спросит, и будет видно что и куда, вы ему "честный" (© Trianon) код и представите :) В данном случе, товарищ не понимает механизма, думаю, для понимания как можно (а ведь можно и не так), достаточно и без...

  Ответить  
 
 автор: BinLaden   (01.08.2008 в 17:23)   письмо автору
 
   для: sim5   (01.08.2008 в 17:03)
 

Сомневаюсь, что товарищ скоро сам задастся таким вопросом.

  Ответить  
 
 автор: sim5   (01.08.2008 в 17:47)   письмо автору
 
   для: BinLaden   (01.08.2008 в 17:23)
 

Надеюсь не по моей вине. )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования