• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Can't Update Records Into Database

  • Автор темы Devochka
  • Дата начала
D

Devochka

Здравствуйте! Пишу админпанель для гостевой книги. Она должна работать следующим образом -- администратор может удалять сообщения и давать ответ. Я написала вход в админку и скрипт для удаления сообщений, а вот с ответом модератора проблемы. Когда отрабатывает функция ответа, сообщения в базу не заносится и не выдает ошибок. Вот проблемный код:


Код:
//подключение к базе
// функции
switch ( $_GET["action"] )
{
case "showlist":	// Список всех записей в таблице БД
show_list(); break;
case "addform":	 // Форма для добавления новой записи
get_add_item_form(); break;
case "add";
add_answer();break;
case "delete":	 // Удалить запись в таблице БД
delete_item(); break;
default:
show_list();
}
function show_list()
{
$query = 'SELECT id,name, time, email, msg, answer FROM моя таблица ORDER BY id';
$res = mysql_query( $query );
while ( $item = mysql_fetch_array( $res ) )
{
echo '<div style="background:	#DCDCDC; border: 1px solid #C0C0C0;
max-wdth:700px; margin-top: 10px; padding:8px; margin-botton:10px;">'. '</div>';

echo '<div style="background:white; padding-top:10px;">'. '<div style ="background:white; padding-top:10px;">';
echo'<div style ="border-bottom:1px solid #CCCCCC; padding-bottom:5px; font-size: 70%;">'.$item["id"]. "	 ". $item["name"]. "	 ". $item["time"]."	 ". $item["email"]. '</div>';
echo '<div style = "margin-left:10px; margin-top:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:	1px solid #CCCCCC;font-style:italic;">'.$item["msg"] . '</div>';
echo '<div style = "margin-top:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:	1px solid #CCCCCC;">'.$item["answer"] . '</div>';
echo '<div style ="margin:10px 0 0; padding-bottom:10px; padding-top:8px;">'.'<a style="border: 1px solid #CCCCCC; color: #74A0FF;
font-size:90%; font-weight:bold; padding:3px 10px; text-decoration: none; margin-left:5px;" href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$item['id'].'">'."Удалить". '</a>'.
'<a style="border: 1px solid #CCCCCC; color: #74A0FF;
font-size:90%; font-weight:bold; padding:3px 10px; text-decoration: none; margin-left:5px;" href ="'.$_SERVER['PHP_SELF'].'?action=addform&id='.$item['id'].'" >'."Ответить". '</a>'. '</div>';
}
}


function get_add_item_form()

{
$query = 'SELECT id, name, time, email, msg,answer FROM моя таблица WHERE id='.$_GET['id'];

$res = mysql_query( $query );
$item = mysql_fetch_array( $res );
echo '<div style="background:	#DCDCDC; border: 1px solid #C0C0C0;
max-wdth:700px; margin-top: 10px; padding:8px; margin-botton:10px;">'. '</div>';
echo '<div style = "margin-left:20px; margin-top:15px;">'.'<h3>'."Добавить ответ".'</h3>'.'</div>';
echo '<div style="margin-top: 15px;">'.'</div>';
echo '<form name="addform" action="'.$_SERVER['PHP_SELF'].'?action="add_answer" method="POST">';
echo '<table style = "margin-left:20px;">';
echo '<tr>';
echo '</tr>';
echo '<tr>';
echo '<td class = "width" >Имя: </td>';
echo '<td><input type = "text" name="name" class = "nameAdmin" value="'.$item['name'].'" /> </td>';
echo '</tr>';
echo '<td class = "width">Комментарий: </td>';
echo '<td><textarea name="msg" class = "commentAdmin">'.$item['msg'].'</textarea></td>';
echo '</tr>';
echo '<td class = "width">Ответ: </td>';
echo '<td><textarea name="answer" class = "commentAdmin">'.$item['answer'].'</textarea></td>';
echo '</tr>';
echo '</table>';
echo '<div style = "width:220px;margin-left:140px; margin-top:10px;">';
echo '<div style = "float:left;">'.'<button type="submit" value="Сохранить" class = "b1">'."Сохранить".'</button></div>';
echo '<span style = "float:right;">'.'<button type="button" onClick="history.back();" class = "b1">'."Отменить".'</button></span>';
echo '</div';

echo '</form>';
}
function add_answer(){
$query = "UPDATE моя таблица SET answer = '".$item['answer']."',
WHERE id=".$_POST['id'];
mysql_query ( $query );
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
В чем здесь проблема? Помогите, пожалуйста.
 
K

Kauperwood

наверно вам , там есть все что надо для гостевой, пробуйте!
P.S по теме ничего не скажу сегодня дети пошли в школу, может завтра будет легче :sorry:
 
A

acorn

Выведите код и попробуйте его запустить в SQL-менеджере. Наверняка поймете ошибку.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!