Руслан У.
34 повідомлення
#14 років тому
Здравствуйте! Такой скрипт - из формы получаются данные и добавляются в базу в цикле. Переменные вида $_POST. Вот сам скрипт:


<?
include('config/db.php');
$nR = $_POST;
$group_id = $_POST;
echo $group_id;
for ($i = 1; $i<$nR; $i++){

$result=mysql_query("UPDATE `turnir_table` SET `u` = "$_POST" WHERE `group_id` = \"$group_id\" ");
if ($result == true) {echo 'Таблица успешно обновлена';} else (echo 'Заебал Насаф';)
}
?>


Выдает такую ошибку:

Parse error: syntax error, unexpected T_VARIABLE in Z:\home\web.nasaf.uz\www\fc_karshi_nasaf_admin\post.php on line 8
Виталий Я.
659 повідомлень
#14 років тому
$result=mysql_query("UPDATE `turnir_table` SET `u` = " <<<< тут должна быть точка . >>>> $_POST <<<< тут должна быть точка . >>>> " WHERE `group_id` = \"$group_id\" "
Руслан У.
34 повідомлення
#14 років тому
$result=mysql_query("UPDATE `turnir_table` SET `u` = ".$_POST" WHERE `group_id` = \"$group_id\" ";

поставил точку. теперь выдает

Parse error: syntax error, unexpected '"' in Z:\home\web.nasaf.uz\www\fc_karshi_nasaf_admin\post.php on line 8

не пойму - как правильно экранировать $_POST запрос?
Виталий Я.
659 повідомлень
#14 років тому
$result=mysql_query('UPDATE `turnir_table` SET `u` = "'.$_POST.'" WHERE `group_id` = "'.$group_id.'";';
Руслан У.
34 повідомлення
#14 років тому
Спасибо большое) заработало))
Кирилл Е.
2817 повідомлень
#14 років тому
..."$_POST"...


Во первых, не $_POST а $_POST;

Во вторых - сунуть в sql-запрос посты или геты не смейте, перед тем как создавать и выполнять запрос - проверяйте что там за данные в нём будут, ато будет потом неприятность..

Для $group_id можно $group_id = (int)$_POST; для других входящих параметров - хотя б слеши добавляйте (если то число - тоже явно преобразовывайте в инт, пусть лучше ноль будет, чем мало ли что..)
Игорь Г.
44 повідомлення
#14 років тому
Оффтопик
горе-программисты
Антон С.
1316 повідомлень
#14 років тому
kirilev, поддерживаю)
Руслан У.
34 повідомлення
#14 років тому
Еще вопрос возник: У меня имеются 14 input. они выводятся в цикле for. к имени input прибавляется $i. то есть получается примерно так:

<input name="u2" size="2" value = "значение" />
<input name="u3" size="2" value = "значение" />
<input name="u4" size="2" value = "значение" />
<input name="u5" size="2" value = "значение" />
<input name="u6" size="2" value = "значение" />

И все эти значения нужно занести в базу в цикле. Я написал скрипт (видели до этого) - он изменяет все значения на одно число и и только из последнего input в таблице.
То есть задал в последнем инпуте 2 - все значения в ячейке поменялись на два. А нужно, чтобы когда я задавал разные значения - каждая записывалась в свою ячейку в таблице.

microscript, А вы не делали ошибок? или все всегда сразу получаться начало?
Виталий Я.
659 повідомлень
#14 років тому
phenom2508, если у вас много однотипных полей их можно сделать масивом )
Цитата ("phenom2508"):
<input name="u2" size="2" value = "значение" />

<input name="u" size="2" value = "значение" />
Так кажется удобнее их обрабатывать.
Руслан У.
34 повідомлення
#14 років тому
Спасибо) сделал) просто id за значение взял)