Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
crowleyrus
0 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 51
1

Не удаляются записи

14.02.2014, 23:25. Просмотров 562. Ответов 18
Метки нет (Все метки)

Всем доброго времени суток. Проблема вот в чём, не удаляются записи. В чём проблема не знаю.
Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php //sqltest.php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if(!$db_server) die ("Не удалось подключится к серверу MYSQL" . mysql_error());
mysql_select_db('publications') or die ("Не удалось найти БД" . mysql_error());
 if (isset($_POST['author'])&&
    isset($_POST['title'])&&
    isset($_POST['category'])&&
    isset($_POST['goda'])&&
    isset($_POST['isbn'])
    )
        {
            $author     = get_post('author');
            $title      = get_post('title');
            $category   = get_post('category');
            $goda       = get_post('goda');
            $isbn       = get_post('isbn');
                if(isset($_POST['delete']) && $isbn != "")
                    {
                        $query = "DELETE FROM classics WHERE isbn='$isbn'";
                        if(!mysql_query($query, $db_server))
                        echo "Сбой удаления данных: $query<br/>" . mysql_error() . "<br/><br/>";
                    }
                    else
                    {
                        $query = "INSERT INTO classics VALUES('$author', '$title', '$category', '$goda', '$isbn')";
                        if(!mysql_query($query, $db_server)) 
                        echo "Сбой при добавлении данных: $query<br/>" . mysql_error() . "<br/><br/>";
                    }
        }
echo <<<_END
<form action="sqltest.php" method="post">
<pre>
Автор       <input type="text" name="author" />
Название    <input type="text" name="title" />
Категория   <input type="text" name="category" />
Год     <input type="text" name="goda" />
ISBN        <input type="text" name="isbn"/>
<input type="submit" value="Добавить книгу" />
</pre>
</form>
_END;
 
$query = "SELECT * FROM classics";
$result = mysql_query($query);
$rows = mysql_num_rows($result);
for ($j = 0; $j < $rows; ++$j)
    {
$row = mysql_fetch_row($result);
echo <<<_END
<pre>
Автор: $row[0]
Название: $row[1]
Категория: $row[2]
Год: $row[3]
ISBN: $row[4]
</pre>
<form action="sqltest.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name="isbn" value="$row[4]" />
<input type="submit" value="Удалить запись" />
</form>
_END;
    }
 
mysql_close($db_server);
 
function get_post($var)
    {
        return mysql_real_escape_string($_POST[$var]);
    }
 
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 23:25
Ответы с готовыми решениями:

Не удаляются записи из БД
&lt;? if ($_POST) { $films_id= join(',', $_POST); $r=mysql_query('DELETE...

Не редактируются, не добавляются, не удаляются записи в MySQL
Здравствуйте ув. пользователи. Возникла такая проблема... значения по умолчанию...

куки не удаляются(
Доброе время суток всем Подскажите пожалуйста, почему у меня не удаляются...

Не удаляются куки
На сайте аутентификация по кукам. И вот этот код почему-то их не удаляет......

Не устанавливаются и не удаляются cookie
Всем доброго, Я подключаю в index.php файл main.php который определяет...

18
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
14.02.2014, 23:39 2
ну так в чём проблема отследить логику скрипта?

что будет, если нажать делете?
будут переданы два поля, с именами delete и isbn методом post

ну что ж, идём дальше, смотрим, что будет, если будут переданы скрипту эти два поля?

1-5 строки, проходят без условий, кроме 4, но там нет зависимости от POST
6 строка
PHP
1
2
3
4
5
if (isset($_POST['author'])&&
    isset($_POST['title'])&&
    isset($_POST['category'])&&
    isset($_POST['goda'])&&
    isset($_POST['isbn'])
смотрим что тут проверяется?

PHP
1
if (существует $_POST['author'] И
но такого поля мы не передавали, дальше идёт И ... И ... то есть проверка провалена, значит внутрь условия мы не попадаем

смотрим где оно заканчивается? судя по скобкам, в 30 строке, то етсь всё что до 30 строки, пропущено, выходит, что не выполняется условие, ведущее к коду удаления
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
14.02.2014, 23:42 3
ошибки? это по телевизору есть передача битва экстрассенсов
0
crowleyrus
0 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 51
14.02.2014, 23:52  [ТС] 4
Так что мне исправить или дописать я так и не понял
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
14.02.2014, 23:58 5
Тут два варианта

Если Вы хотите изучать программирование, то это самая основа, без этого не куда, в 5 классе условия проходят.
Если Вы их не понимаете, то дальше ещё хуже будет, по этому почитайте основы пхп, поймите что такое условие, и как это исправить

Второй вариант, если первый Вас не устроил, скачайте ЦМС и установите, Вы не хотите учить программирование

Даю наводку, по первому варианту
PHP
1
2
3
4
5
6
7
8
9
if (указан автор и указан ид)
{
    ...
    if (нажато удалить)
    {
        удалить
    }
    ....
}
Разберитесь простыми словами, что не так в алгоритме, и как сделать так, что бы без указания автора, выполнение доходило до условия удаления.
Но! при этом код вне условия удаления, но в условии проверки существования автора, остался на месте со своими проверками
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
15.02.2014, 00:05 6
Что выводится???
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
15.02.2014, 00:07 7
zebulun, мне кажется я написал, что у него даже по логике условия не доходит код, ошибки тут ен при чём
0
crowleyrus
0 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 51
15.02.2014, 00:08  [ТС] 8
всё выводится, по клику на кнопку не удаляются записи. Всё не могу понять в чём трабла. Вроде бы в условии всё верно и в форме с кнопкой тоже хорошо.
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
15.02.2014, 00:15 9
Цитата Сообщение от crowleyrus Посмотреть сообщение
всё выводится, по клику на кнопку не удаляются записи. Всё не могу понять в чём трабла. Вроде бы в условии всё верно и в форме с кнопкой тоже хорошо.
Что всё? Какой результат выдает php-скрипт?
Что вы видите на экране?
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
15.02.2014, 00:15 10

Цитата Сообщение от zebulun Посмотреть сообщение
Что выводится???
Цитата Сообщение от crowleyrus Посмотреть сообщение
Вроде бы в условии всё верно
Простите, я один вижу что я пишу?

PHP
1
2
3
4
5
6
7
Если (передан автор) тогда!!!
{
    if (нажато удалить)
    {
        тогда удалить!
    }
}
мы нажимаем удалить!
у нас не передан автор и прочие поля

по вашему код до проверки нажатия кнопки удалить дойдёт???
то есть условие не выполнилось, но код внутри должен выполниться? нафига тогда вообще условия придумали в пхп, если они выполняются всегда?)
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
15.02.2014, 00:22 11
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Простите, я один вижу что я пишу?
Вы сидите с тс в одной комнате, видите, что у него на экране? Нет? Тогда откуда вы знаете куда скрипт проходит, для этого я и спрашиваю, что выводится. По результату можно определить, как отработал скрипт, а по вашим предположениям - нет.
0
crowleyrus
0 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 51
15.02.2014, 00:31  [ТС] 12
Всё, всем спасибо, я разобрался)
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
15.02.2014, 00:37 13
Цитата Сообщение от zebulun Посмотреть сообщение
Тогда откуда вы знаете куда скрипт проходит
А как вы пишите скрипты? на угад что ли?
обычно когда люди пишут скрипт, они понимают что делают, вот так и анализируют, зачем вообще запускать xто бы увидеть тут ошибку?) которая в начальных классах проходиться

Цитата Сообщение от zebulun Посмотреть сообщение
По результату можно определить, как отработал скрипт, а по вашим предположениям - нет.
мдя...
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
15.02.2014, 00:51 14
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
А как вы пишите скрипты? на угад что ли?
Я этот скрипт не писал, поэтому не знаю, какие данные $_POST, вы тоже, кстати.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
15.02.2014, 00:53 15
я знаю, потому что они в этом скрипте
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
15.02.2014, 00:55 16
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
я знаю, потому что они в этом скрипте
Что в этом скрипте? Данные с браузера?
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
15.02.2014, 01:00 17
вы вообще скрипт смотрели?

Добавлено через 51 секунду
Цитата Сообщение от crowleyrus Посмотреть сообщение
HTML5
1
2
3
4
5
<form action="sqltest.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name="isbn" value="$row[4]" />
<input type="submit" value="Удалить запись" />
</form>
это что???
0
zebulun
68 / 68 / 13
Регистрация: 01.09.2011
Сообщений: 379
15.02.2014, 01:38 18
Смотрел бегло, дело не в этом, где написано, что именно эта форма передается? Скорее всего, да, но я вам
сделаю так, что будет передаваться еще десяток переменных пост, помимо тех, которые в этой форме, в том числе и те, которые нужны для прохождения условия, короче закончим этот разговор ни о чем.
0
DrobyshevAlex
1173 / 1123 / 94
Регистрация: 31.05.2012
Сообщений: 3,059
15.02.2014, 01:45 19
не нужно выдумывать, вам дали скрипт, даже не зная какая форма передаётся а видя обработчик, прекрасно видно, что код удаления записи, засунули туда же, где и код добавления записи, и что бы вызвал этот код, все поля из родительского условия, должны существовать.
никто не будет передавать поля с заголовком и прочие не нужные, для удаления по id.
уже тут можно понять что обработчик пихнули не туда.
а если опустить глаза, видно, что форма есть, для удаления, и поля там действительно не передаются.

Добавлено через 1 минуту
Цитата Сообщение от zebulun Посмотреть сообщение
где написано, что именно эта форма передается?
простите, а где написано, что пхп установлено вообще? может там просто пхп нет, вот и не пашет? да?

Добавлено через 42 секунды
воу воу, я понял, просто нет электричества, сервер выключили!
0
15.02.2014, 01:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2014, 01:45

Не удаляются файлы на сервере
Здравствуйте. Почему-то не удаляются файлы на сервере. Подскажите в чем...

Плохо удаляются строки из таблицы
У меня такой вопрос, почему галочками отмечаю несколько строк, а удаляется...

Заезженная тема, НО! Куки не удаляются!
Привет всем! Знаком с PHP не первый год, но с куками как-то особо не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru