Сижу и туплю,не могу понять почему из базы данные не удаляются!? Кнопочка не срабатывает... Код (Text): $HTML='<strong>id:</strong> '.$id_text.'<br> <strong>Изображение:</strong> <img src="../'.$img_text.'"><br> <strong>Заголовок:</strong> '.$title.'<br> <strong>Текст:</strong> '.$full_text.'<br> <strong>id автора:</strong> '.$autor_text.'<br> <strong>Дата написания:</strong> '.$date_text.'<br> <form action="#" method="POST"> <input type="hidden" name="delid" value="'.$id_text.'"> <input type="submit" value="удалить" name="delete"> </form>'; print $HTML; if(isset($_POST['delete'])) { $idtext = intval($_POST['delid']); $sql7 = "DELETE FROM `text` WHERE `idtext` = '$idtext'"; $result7 = mysql_query($sql7, $db_text)or die("Ошибка в запросе: " . mysql_error()); if (!$result7) { echo "Нет доступа к базе данных!"; } else { echo "Всё гуд!"; echo "<a href='../znakomstva/hell/admin.php'></a>"; } } Заранее благодарен...
Подумал может мало кода Вам предоставил...вот весь: Код (Text): <?php if(isset($_POST['title'])) { $title = ($_POST['title']); if (empty($title) or $title == '') { unset($title); exit ("Так по какому названию искать?"); } else { include ("bd_text.php"); $sql5 = "SELECT * FROM `text` WHERE `title`='$title'"; $result5 = mysql_query($sql5, $db_text)or die("Ошибка в запросе: " . mysql_error()); if (!$result5) { echo "ошибка - ".mysql_error()."<br>"; echo $sql5; exit(); } else { $myrow5 = mysql_fetch_assoc($result5); if (empty($myrow5['idtext'])) { exit ("Такого заголовка нет"); } else { $id_text = $myrow5['idtext']; $img_text = $myrow5['img_text']; $title = $myrow5['title']; $full_text = $myrow5['full_text']; $autor_text = $myrow5['autor_text']; $date_text = $myrow5['date_text']; $HTML='<strong>id:</strong> '.$id_text.'<br> <strong>Изображение:</strong> <img src="../'.$img_text.'"><br> <strong>Заголовок:</strong> '.$title.'<br> <strong>Текст:</strong> '.$full_text.'<br> <strong>id автора:</strong> '.$autor_text.'<br> <strong>Дата написания:</strong> '.$date_text.'<br> <form action="#" method="POST"> <input type="hidden" name="delid" value="'.$id_text.'"> <input type="submit" value="удалить" name="delete"> </form>'; print $HTML; if(isset($_POST['delete'])) { $idtext = intval($_POST['delid']); $sql7 = "DELETE FROM `text` WHERE `idtext` = '$idtext'"; $result7 = mysql_query($sql7, $db_text)or die("Ошибка в запросе: " . mysql_error()); if (!$result7) { echo "Нет доступа к базе данных!"; } else { echo "Всё гуд!"; echo "<a href='../znakomstva/hell/admin.php'></a>"; } } $HTML='<form action="" method="post"> <input type="submit" value="корректировать" name="korrect_text"> </form>'; print $HTML; //ещё написать скрипт для редактирования данных } } } } ?>
Ща,второй карман открою и высыплю...))) Я проверял в жуке на мазиле-пишет,что передаёт числовое значение id как и положено...
эта... когда у пма что-то не выходит, он пишет что не так. либо нет такой строки у которой вот то что ты говоришь равно тому, чему ты указал. =) Добавлено спустя 15 секунд: а может у тебя нет прав на удаление? о_О
У ПМА всё в норме...))) И строка есть такая...мне передаёт в посте 4,в таблице есть id под номером 4! Вот пишу так: Код (Text): if(isset($_POST['delete'])) { $idtext = $_POST['delid']; echo "Всё гуд!"; } И тут пустая страница...как так может быть?Ничего не выводит... Добавлено спустя 5 минут 47 секунд: В других случаях всё замечательно удаляет!!! Только я там с помощью яваскрипта это всё делаю,а тут только php попробовал и такая фигня... Попробовал Код (Text): var_dump($_POST); и получается пустое окно браузера! Мне кажется сама форма накосячена... Добавлено спустя 41 минуту 11 секунд: Вся проблема была в том,что проверку на наличие переменной нужно было вынести за пределы первой проверки на переменную title,так как код,когда повторно выполнялся,то стопорился в самом начале...! Всем спасибо!И будьте внимательнее чем я...))) Тема закрыта!!!
Пишите лучше так: И экранируй если с базой работаете. Код (PHP): $sql5 = "SELECT * FROM `text` WHERE `title`='".прочитайте про экранирование($title)."'"; Код (PHP): print $HTML; Пишите: Код (PHP): echo $HTML; А зачем в скобки взяли: Код (PHP): $title = ($_POST['title']); Защиту пытались сделать?)))
echo быстрее, чем print. http://www.drupal.ru/node/13526 и echo ничего не возвращает, а print всегда 1. так же как и $_GET[name] медленнее чем $_GET['name'] =)
Ну, $_GET[name] - это вообще ошибка (нотис: неопределённая константа). А разница в скорости между echo и print, сдаётся мне, такая, что на неё можно просто забить. Хотя, в принципе, если она есть хотя бы какая-то - то да, почему бы не печатать в коде echo, даже если привык к print Только не стоит думать, что от этого производительность приложения что-то заметное выиграет.