powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / UPDATE работатет, но в коде ошибка
8 сообщений из 8, страница 1 из 1
UPDATE работатет, но в коде ошибка
    #37810768
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. У меня проблема, вот мой код:

if (isset($_POST['id_os'])) {$id_os = $_POST['id_os'];}
if (isset($_POST['art'])) {$art = $_POST['art']; if ($art == '') {unset($art);}}
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['img'])) {$img = $_POST['img']; if ($img == '') {unset($img);}}
if (isset($_POST['img_big'])) {$img_big = $_POST['img_big']; if ($img_big == '') {unset($img_big);}}
if (isset($_POST['ob'])) {$ob = $_POST['ob']; if ($ob == '') {unset($ob);}}
if (isset($_POST['opis'])) {$opis = $_POST['opis']; if ($opis == '') {unset($opis);}}
if (isset($_POST['prim'])) {$prim = $_POST['prim']; if ($prim == '') {unset($prim);}}
if (isset($_POST['price'])) {$price = $_POST['price']; if ($price == '') {unset($price);}}



if (isset($art) && isset($name) && isset($img) && isset($ob) && isset($opis) && isset($prim) && isset($price))
{
$sql = ("UPDATE os SET art = '".$art."', name = '".$name."', img = '".$img."', img_big = '".$img_big."', ob = '".$ob."', opis = '".$opis."', prim = '".$prim."', price = '".$price."' WHERE id_os = '".$id_os."'");
$res = mysql_query($sql) or die (mysql_error() ."<br />". $sql);



if ($res)
{
echo "<h1>Страница обновлена</h1>";

}
else
{
echo "<h1>Страница не обновлена</h1>";
}
}
else
{
echo "<h1>Заполните все поля</h1>";
}
?>


после внесения изменений в форму и нажатие на кнопку "изменить" появляется надпись "Страница обновлена", однако обновления в базу не заносятся. Проверил через echo получается UPDATE os SET art = '1', name = 'цувыыа', img = 'уавыа', img_big = 'уававу', ob = 'уаыва', opis = 'уавау', prim = 'уава', price = '23.00' WHERE id_os = '' , то есть обновление проходит, но из-за того что код не знает id_os в базу оно не заносится. Подскажите где у меня косяк.
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37810782
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim_Veprиз-за того что код не знает id_osА первой строчкой тогда что же из $_POST вытаскивается?

PS: пожалуйста, оформляйте код тегом SRC.
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37810787
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного переделал код.
Это страница с формой:

<src><?php if (isset($_GET['id_os'])) {$id_os = $_GET['id_os'];}?>

<?php
if (!isset($id_os))

{

echo "<h1>Выбирите наименования товара</h1>";

$result = mysql_query("SELECT art,name,id_os FROM os");
$myrow = mysql_fetch_array($result);

do
{
printf ("<p><a href='edit_os.php?id_os=%s'>%s - %s</a></p>",$myrow["id_os"],$myrow["art"],$myrow["name"]);
}

while ($myrow = mysql_fetch_array($result));

}

else

{




$result = mysql_query("SELECT * FROM os WHERE id_os = '".$id_os."'");
$myrow = mysql_fetch_array($result);

$id_os = $id_os["id_os"];
$art = $art["art"];
$name = $name["name"];
$img = $img["img"];
$img_big = $img_big["img_big"];
$ob = $ob["ob"];
$opis = $opis["opis"];
$prim = $prim["prim"];
$price = $price["price"];
?>




<form name = "update" action = "update_os.php" method = "post">
<p>
<label>Измените артикул<br />
<input value = "<?=$myrow[art]?>" type="text" name="art" id="art">
</label>
</p><br />
<p>
<label>Измените наименование<br />
<textarea name="name" id="name" cols="60" rows="2"><?=$myrow[name]?></textarea>
</label>
</p><br />
<p>
<label>Измените mini - картинку<br>
<textarea name="img" id="img" cols="60" rows="3"><?=$myrow[img]?></textarea>
</label>
</p><br />
<p>
<label>Измените big - картинку<br>
<textarea name="img_big" id="img_big" cols="60" rows="4"><?=$myrow[img_big]?></textarea>
</label>
</p><br />
<p>
<label>Измените вес/объём<br>
<input value = "<?=$myrow[ob]?>" type="text" name="ob" id="ob">
</label>
</p><br />
<p>
<label>Измените описание средства<br>
<textarea name="opis" id="opis" cols="60" rows="4"><?=$myrow[opis]?></textarea>
</label>
</p><br />
<p>
<label>Измените применение средства<br>
<textarea name="prim" id="prim" cols="60" rows="4"><?=$myrow[prim]?></textarea>
</label>
</p><br />
<p>
<label>Измените стоимость товара<br>
<input value = "<?=$myrow[price]?>" type="text" name="price" id="price">
</label>
</p><br />
<p align="right">
<label>
<input type="submit" name="edit" id="submit" value=" Сохранить изменения ">
</label>
</p><br />
</form>



<?php }?>

</src>

А это страница обработчика:

<src> <?php
if (isset($_GET['id_os'])) {$id_os = $_GET['id_os'];}
{
$id_os = trim($_POST["id_os"]);
$art = trim($_POST["art"]);
$name = trim($_POST["name"]);
$img = trim($_POST["img"]);
$img_big = trim($_POST["img_big"]);
$ob = trim($_POST["ob"]);
$opis = trim($_POST["opis"]);
$prim = trim($_POST["prim"]);
$price = trim($_POST["price"]);



$sql = ("UPDATE os SET art = '".$art."', name = '".$name."', img = '".$img."', img_big = '".$img_big."', ob = '".$ob."', opis = '".$opis."', prim = '".$prim."', price = '".$price."' WHERE id_os = '".$id_os."'");
$row = mysql_query($sql) or die (mysql_error() ."<br />". $sql);

echo $sql;

if ($row)
{
echo "<h1>Страница обновлена</h1>";

}
else
{
echo "<h1>Страница не обновлена</h1>";
}
}

?>
</src>

Я написал не понял сам что вот теперь и страдаю echo $sql; показывает UPDATE os SET art = '1', name = 'цувыыа', img = 'уавыа', img_big = 'уававу', ob = 'уаыва', opis = 'уавау', prim = 'уава', price = '23.00' WHERE id_os = ''
так что id_os я просто не получаю.
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37810792
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
id_os определённо не хочет появляться из базы
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37810796
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое интересное когда ставишь другое значение вместо id_os например art, значение art появляется, но обновления всё равно не происходит.
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37810798
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ещё код для обработчика, здесь всё работает однако строка которую обновляешь встаёт наверх и полностью заменяет собой первую, помогите её доработать.
<src>

$sql = "UPDATE os SET ";

for($i=0; $i<$n; $i++)
{
$name_f = mysql_field_name($list_f, $i);
$value = $_POST[$name_f];
$j = $i+1;
$sql = $sql.$name_f."='$value'";
if($j<>$n) $sql = $sql.",";
}



$result = mysql_query($sql, $db);

if($result)
echo "<h2>Товар занесён в базу</h2>";
else
echo "<h2>Товар не занесён в базу!</h2>";

mysql_close($db);

</src>
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37810977
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
<?php if (isset($_GET['id_os'])) {$id_os = $_GET['id_os'];}?>

<?php 
if (!isset($id_os))

{

echo "<h1>Выбирите наименования товара</h1>";

$result = mysql_query("SELECT art,name,id_os FROM os"); 
$myrow = mysql_fetch_array($result);

do 
{
printf ("<p><a href='edit_os.php?id_os=%s'>%s - %s</a></p>",$myrow["id_os"],$myrow["art"],$myrow["name"]);
}

while ($myrow = mysql_fetch_array($result));

}

else

{




$result = mysql_query("SELECT * FROM os WHERE id_os = '".$id_os."'");
$myrow = mysql_fetch_array($result);

/*$id_os = $id_os["id_os"];
$art = $art["art"];
$name = $name["name"];
$img = $img["img"];
$img_big = $img_big["img_big"];
$ob = $ob["ob"];
$opis = $opis["opis"];
$prim = $prim["prim"];
$price = $price["price"];*/ // смысла кода не понял, считаю лишним
?>




<form name = "update" action = "update_os.php" method = "post">
//А тут ВНИМАНИЕ... добавляем недостающее в отправленом запросе поле id_os
<input type="hidden" name="id_os" value="<?= $id_os ?>">
<p>
<label>Измените артикул

<input value = "<?=$myrow[art]?>" type="text" name="art" id="art">
</label>
</p>

<p>
<label>Измените наименование

<textarea name="name" id="name" cols="60" rows="2"><?=$myrow[name]?></textarea>
</label>
</p>

<p>
<label>Измените mini - картинку<br>
<textarea name="img" id="img" cols="60" rows="3"><?=$myrow[img]?></textarea>
</label>
</p>

<p>
<label>Измените big - картинку<br>
<textarea name="img_big" id="img_big" cols="60" rows="4"><?=$myrow[img_big]?></textarea>
</label>
</p>

<p>
<label>Измените вес/объём<br>
<input value = "<?=$myrow[ob]?>" type="text" name="ob" id="ob">
</label>
</p>

<p>
<label>Измените описание средства<br>
<textarea name="opis" id="opis" cols="60" rows="4"><?=$myrow[opis]?></textarea>
</label>
</p>

<p>
<label>Измените применение средства<br>
<textarea name="prim" id="prim" cols="60" rows="4"><?=$myrow[prim]?></textarea>
</label>
</p>

<p>
<label>Измените стоимость товара<br>
<input value = "<?=$myrow[price]?>" type="text" name="price" id="price">
</label>
</p>

<p align="right">
<label>
<input type="submit" name="edit" id="submit" value=" Сохранить изменения ">
</label>
</p>

</form>



<?php }?> 

А это страница обработчика:

<?php 
if (isset($_GET['id_os'])) {$id_os = $_GET['id_os'];} // странно что вообще работает... форма Post зато массив GET :) меняем на POST
{
$id_os = trim($_POST["id_os"]);
$art = trim($_POST["art"]);
$name = trim($_POST["name"]);
$img = trim($_POST["img"]);
$img_big = trim($_POST["img_big"]);
$ob = trim($_POST["ob"]);
$opis = trim($_POST["opis"]);
$prim = trim($_POST["prim"]);
$price = trim($_POST["price"]);



$sql = ("UPDATE os SET art = '".$art."', name = '".$name."', img = '".$img."', img_big = '".$img_big."', ob = '".$ob."', opis = '".$opis."', prim = '".$prim."', price = '".$price."' WHERE id_os = '".$id_os."'");
$row = mysql_query($sql) or die (mysql_error() ."
". $sql);

echo $sql;

if ($row)
{
echo "<h1>Страница обновлена</h1>";

}
else
{
echo "<h1>Страница не обновлена</h1>";
}
}

?>



Вот и всё... так должно работать... просто в коде не было поля id_os в форме... вот оно и не отправлялось.
...
Рейтинг: 0 / 0
UPDATE работатет, но в коде ошибка
    #37811295
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёр,

Друг если бы мог расцеловал. Я над этой фигнёй уже неделю сижу и спросить не у кого. ОГРОМНОЕ СПАСИБО.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / UPDATE работатет, но в коде ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]