Несколько кнопок отправки в форме - PullRequest
2 голосов
/ 10 марта 2011

У меня есть корзина для покупок, и я хотел бы удалить товар из корзины.Я не хочу использовать JavaScript.Элементы в корзине циклически перебираются в php, захватывая переменную сеанса, и отображаются в таблице с возможностью удаления элемента.На данный момент у меня есть несколько входных отправок для ссылки «remvove item», и внутри цикла for у меня есть эти входные теги, которые генерируются с идентификатором элемента.Мой скрипт, который обрабатывает переменные записи, не может узнать, по какой ссылке «removeitem» была нажата, следовательно, удаляется первая.Я просто ищу лучший способ справиться с чем-то подобным без JS.

Спасибо

Ответы [ 5 ]

3 голосов
/ 10 марта 2011

Не могли бы вы сделать несколько форм, каждая с разным значением для атрибута действия?

2 голосов
/ 10 марта 2011

Используйте несколько форм. Вы можете иметь в своем сценарии столько форм, сколько хотите, по одной на форму. Не используйте путь js для отправки формы -> котята умрут, если вы сделаете это.

1 голос
/ 20 сентября 2012

прочитайте ваш $id[$i] из базы данных и сохраните количество записей в $count затем проверьте, нужно ли что-то удалить:

for ($i = 0; $i <= $count; $i++) {
  if (isset($_POST[$id[$i]])) { 
    remove your $id[$i] from database
  }
}

, затем снова прочитайте ваш $id[$i] из базы данных и сохраните количество записей в $count

for ($i = 0 ; $i <= $count; $i++) {
  echo '<input type="submit" name="'.$id[$i]'." value="removeitem">';
}
0 голосов
/ 10 марта 2011

Вы можете обработать это с помощью простой ссылки на ту же страницу, но в $ _GET соберите информацию и запустите ее через скрипт:

<a href="cart.php?remove=yes&item_to_remove=<?php echo item_id; ?>">Remove</a>

Затем в скрипте php

if ( (isset($_GET['remove']))and($_GET['remove'] == 'yes') ){
   //then remove the item from the session var by removing the $_GET['item_to_remove']
}
0 голосов
/ 10 марта 2011

Если вы не возражаете, предоставив пользователю значение id, быстрый способ исправить это - изменить атрибут value каждой кнопки отправки:

<input type="submit" ... value="removeitem <?php echo $uniqueid ?>" />

Затем, когда форма отправляется на сервер, вы можете проанализировать и проверить значение с помощью PHP. В зависимости от сложности ваших идентификаторов, вы можете сделать что-то простое:

$value = $_POST['remove'];
$value = explode(' ', $value);
$value = $value[1];

... И это теоретически даст вам нужный вам идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...