|
|
|
| После работы данного скрипта не только не удаляется $buttons[$key], но еще и записывается $key в кукисы. В чем ошибка?
<?php
// Определяем нажата ли кнопка «удалить»
if (isset($_POST['$n_delete'])){
$key = $n_delete - 1;
$buttons = array();
$buttons = explode("#", $buts );
//Удаляем элемент массива.
$buttons[$key] = "";
$buts = implode("#", $buttons);
$buts = str_replace("##","#",$implode_buts);
setcookie("buts", "$buts");}
//Форма:
// Вывод в цикле
$n_delete=1;
<td ><form method='post'><input name=$n_delete type='submit' value='Удалить'><form>></td>
$n_delete++;
?>
|
| |
|
|
|
|
|
|
|
для: Чайчайвыручай
(12.07.2011 в 20:32)
| | у Вас $n_delete не определена в if (isset($_POST['$n_delete'])){
___
если честно то на мой взгляд у Вас "каша" с переменными
имя переменной в цикле не так формируется | |
|
|
|
|
|
|
|
для: Valick
(12.07.2011 в 20:42)
| | Да, вы правы, ошибка была с переменной. Ниже все без ошибок:
<?php
// Определяем нажата ли кнопка «удалить»
if (isset($_POST['$n_delete'])){
// $n_delete равно номеру элемента минус единица.
$key = $n_delete - 1;
$buttons = array();
$buttons = explode("#", $buts );
//Удаляем элемент массива.
$buttons[$key] = "";
$buts = implode("#", $buttons);
$buts = str_replace("##","#",$buttons);
setcookie("buts", "$buts");}
//Форма:
// Вывод в цикле
$n_delete=1;
<td ><form method='post'><input name=$n_delete type='submit' value='Удалить'><form>></td>
$n_delete++;
?>
|
у Вас $n_delete не определена в if (isset($_POST['$n_delete']))
В смысле не определена? Она у меня записывается в куки | |
|
|
|
|
|
|
|
для: Чайчайвыручай
(12.07.2011 в 20:50)
| | в прямом смысле
на момент интерпретации 3 строки переменная не существует, она у Вас определяется ниже по коду
я же говорю, Вы неправильно формируете переменную в форме, отсюда и вся неразбериха | |
|
|
|
|
|
|
|
для: Valick
(12.07.2011 в 20:55)
| | Вы неправильно формируете переменную в форме, отсюда и вся неразбериха
А как надо? Взять в кавычки?
Вот как у меня она выглядит:
<?php
$n_delete=1;
do{
printf (
"<td><form method='post'><input name='$n_delete' type='submit' value='Удалить'><form></td>
<td class='tdn'>%s</td>",
$nam);
$n_delete++}
while (условие);
?>
|
| |
|
|
|
|
|
|
|
для: Чайчайвыручай
(12.07.2011 в 21:26)
| | должно быть не
а
а на сервере обрабатывать массив $_POST[del]
а еще лучше формировать это ссылкой или чекбоксами в зависимости от задачи
___
вообще лучше задавая вопрос на форуме описывать техническое задание (ТЗ) | |
|
|
|
|
|
|
|
для: Valick
(12.07.2011 в 21:29)
| | Спасибо большое! | |
|
|
|
|
|
|
|
для: Чайчайвыручай
(12.07.2011 в 21:37)
| | да собственно говоря пока незачто
я сам лет пять назад кодил в темную голову... столько "гениальных" мыслей в голове было :)
такая хреновень получалась)
а потом маленько остудил голову и начал читать книги)) | |
|
|
|
|
|
|
|
для: Valick
(12.07.2011 в 21:41)
| | Да, у меня как раз много этой хреновени. Даже сейчас не получается.
Делаю name=del[$n_delete] и $_POST[del].
del[$n_delete] - это массив? Тогда почему нет знака переменной?
$_POST[del] - не несет переменную $n_delete. Почему? | |
|
|
|
|
|
|
|
для: Чайчайвыручай
(12.07.2011 в 22:15)
| | $_POST[del] - несет массив :)
пробуйте
foreach($_POST[del] as $key=>$value){
echo $key." - ".$value;
} | |
|
|
|