Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2011, 12:55   #1
ilushka2306
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 48
По умолчанию php не нравится del

в 59 строке не нравится if($_GET['del']) delete_users();
PHP код:
<title></title>
<?php
function show_users()
{
?>
<SCRIPT language='JavaScript1.1' type='text/javascript'>
<!--
function Delete(N)
{
if(confirm("Удалить пользователя?"))
{
parent.location='?del='+N;
}
else
{
return false;
}
}
-->
</SCRIPT>
<?php 
require './connect.php';

echo 
'<table align="center"><tr><td width="70" align="left"><font color="FF0000"> ID </font></td><td width="130" align="left"><font color="FF0000"> Имя </font></td> <td width="130"><font color="FF0000"> Пароль </font></td><td width="130"><font color="FF0000"> Доступ </font></td></tr>';
$result mysql_query("SELECT * FROM test ORDER BY id;");
while(
$row mysql_fetch_array($result))
{
echo 
'
<tr>
<td>
'
.stripslashes($row['id']).'
</td>
<td>
'
.stripslashes($row['name']).'
</td> 
<td>
'
.stripslashes($row['password']).'
</td>
<td>
'
.stripslashes($row['access']).'
</td> 
<td align="center">
<a href="#" OnClick="Delete('
.$row['id'].')"> удалить </a> 
</td>
</tr>'
;
}
echo 
'</table>';
}
function 
delete_users()
{
require 
'./connect.php';

// Подключение к СУБД
$link mysql_connect(HOST,USER,PASS) or die (mysql_error());  
        
 
$query "DELETE FROM test WHERE id = '".$_GET['del']."';";
 
mysql_query($query);
}

if(
$_GET['del']) delete_users();
show_users();
?>

Последний раз редактировалось ilushka2306; 06.05.2011 в 13:22.
ilushka2306 вне форума Ответить с цитированием
Старый 06.05.2011, 13:39   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Замените на
PHP код:
if(array_key_exists('del'$_GET)) 
Кстати, что будет если в качестве аргумента $_GET['del'] передать ' OR '1'='1

З.Ы. Интересно сколько человек прочитав вопрос в первую очередь подумали о подавлении вывода ошибок?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?

Последний раз редактировалось Johnatan; 06.05.2011 в 13:47.
Johnatan вне форума Ответить с цитированием
Старый 06.05.2011, 15:57   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

ошибка говотрит о том.. .что в $_GET нет индекса del ... то есть не передали его через этот метод
советовал бы использовать intval()
ADSoft вне форума Ответить с цитированием
Старый 08.05.2011, 15:16   #4
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Почините

PHP код:
if ($_GET['del']) delete_users(); 
на что-то вроде

PHP код:
if (isset($_GET['del']) && intval($_GET['del']) delete_users(); 
позаботьтесь о том, что бы у вас не было пользователя с айди=0

И Никогда, вы слышите, никогда (!!!) не делайте валидацию данных, тогда ваша база данных будет обязательно периодически обновляться, кроме того, вас и ваших пользователей в будущем будет ждать множество интереснейших сюрпризов от любителей SQL injection
graymaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не понятно что ему не нравится _ILYA_ Visual C++ 3 29.10.2010 20:25
Чем вам не нравится Delphi? docbrain Свободное общение 116 16.10.2010 10:18
del > right? NixCore Свободное общение 18 18.12.2009 14:00
Логотип какого поисковика вам нравится больше? Hallo Свободное общение 7 26.06.2008 09:26
Что тебе нравится геймер? BedDog Свободное общение 19 23.03.2007 08:04