Actually I want to change it, but according to the condition the changes do not occur.

All code:

<div class="add"> <center> <span><strong>Карточки</strong></span> <a href="/admin/components/carts/add_carts.php" class="back-element">добавить карточку</a> <div class="form-add"> <form method="post"> <select name="item"> <option value="series">Серия</option> <option value="num">Номер</option> <option value="status">Статус</option> </select> <input type="text" name="find" value="" placeholder="Текст поиска..." class="calc_input"> <input type="submit" name="search" value="Поиск / Все элементы" class="calc_submit"> </form> </div> <br> <? if (isset($_POST["search"])) { $search = trim($_POST["find"]); $item = trim($_POST["item"]); $query = "SELECT * FROM carts WHERE $item LIKE '%$search%' ORDER by id DESC"; // print_r($query); $result = mysql_query($query); echo "<div class='CSSTableGenerator'><table><tr><td>Серия</td><td>Номер</td><td>Открыто</td><td>Закрыто</td><td>Окончание</td><td>Статус</td></tr>"; while ($row = mysql_fetch_array($result)) { echo '<tr> <td><a href="?id=', $row["id"], '">', $row["series"], '</a></td> <td><a href="?id=', $row["id"], '">', $row["num"], '</a></td> <td><a href="?id=', $row["id"], '">', $row["date_start"], '</a></td> <td><a href="?id=', $row["id"], '">', $row["date_finish"], '</a></td> <td><a href="?id=', $row["id"], '">', $row["activity"], '</a></td> <td><a href="?id=', $row["id"], '">', $row["status"], '</a></td> </tr>'; } echo "</table></div><br>"; require($_SERVER['DOCUMENT_ROOT'] . "/admin/main/footer.php"); exit(); } // А это форма редактирования записи if (!empty($_GET["id"])) { $query = "SELECT * FROM carts WHERE id=" . $_GET['id'] . ""; $result = mysql_query($query); $row = mysql_fetch_array($result); } // Добавление if (isset($_POST["insert"])) { $query = "INSERT INTO carts (series,num,date_start,date_finish,date_last_use,status,history,summ) VALUES ('{$_POST['series']}', '{$_POST['num']}', '{$_POST['date_start']}','{$_POST['date_finish']}','{$_POST['date_last_use']}','{$_POST['status']}','{$_POST['history']}')"; mysql_query($query); } //Корректировка if (isset($_POST["edit"])) { $query = "UPDATE carts SET series='{$_POST['series']}',num='{$_POST['num']}',date_start='{$_POST['date_start']}',date_finish='{$_POST['date_finish']}',summ='{$_POST['summ']}',status='{$_POST['status']}',history='{$_POST['history']}' WHERE id='{$_POST['id']}'"; $result = mysql_query($query); unset($row); } //Удаление if (isset($_POST["delete"])) { $query = "DELETE FROM carts WHERE id='{$_POST['id']}'"; mysql_query($query); unset($row); } if (!empty($_GET["id"])) { echo ' <div class="form-add"> <form method="post"><table border="0"> <tr> <td><input style="-moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none" type="text" size=10 value="' . $row["status"] . '" readonly></td> </tr> <tr><td><select size=2 name="status"> <option disabled>Статус карты</option> <option value="Активно">Активно</option> <option value="Деактивированно">Деактивированно</option> <option value="Просрочено">Просрочено</option> </select></td></tr> <tr> <td><input style="-moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none" type="text" size=16 value="' . $row["activity"] . '" readonly>Истечет срок</td> </tr> <tr><td><select size=2 name="activity"> <option disabled>Активировать карты</option> <option value="' . date((time($row["date_start"]) + 3600 * 24 * 30)) . '">На 1 месяц</option> <option value="' . date((time($row["date_start"]) + 3600 * 24 * 60)) . '">На 6 месяцев</option> <option value="' . date((time($row["date_start"]) + 3600 * 24 * 365)) . '">На 365 день</option> </select></td></tr> <tr><td><input type="text" size=32 name="series" placeholder="Серия" value="' . $row["series"] . '"></td></tr> <tr><td><input type="text" size=32 name="num" placeholder="Номер карты" value="' . $row["num"] . '"></td></tr> <tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Открыта<input type="text" size=32 name="date_start" value="' . $row["date_start"] . '"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Закрыта<input type="text" size=32 name="date_finish" value="' . $row["date_finish"] . '"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Последнеее изменение<input style="-moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none" type="text" size=19 name="date_last_use" value="' . $row["date_last_use"] . '" readonly></td></tr> <tr><td><textarea name="history" placeholder="История" cols=80 rows=2>' . $row["history"] . '</textarea></td></tr> <tr><td><input style="float:right" name="summ" size="19" value="'.$row["summ"].'"></td></tr> <input type="hidden" name="id" value="' . $_GET["id"] . '"> <tr><td></td><td> '; echo '<input id="button" style="left: 170px;" type="submit" name="edit" value="Сохранить">'; echo '<input id="button" type="submit" name="delete" value="Удалить">'; } echo "</tr></table></form><br>";?> <? $true_activity = strtotime($row["activity"]); $true_start = strtotime($row["date_start"]); if ($true_activity == $true_start) { $row["status"]="Просрочено"; $query = "UPDATE carts SET status='{$_POST['status']}' WHERE id='{$_POST['id']}'"; $result = mysql_query($query); unset($row); } ?> </center> </div> 

Actually update processing code:

  <? $true_activity = strtotime($row["activity"]); $true_start = strtotime($row["date_start"]); if ($true_activity == $true_start) { $row["status"]="Просрочено"; $query = "UPDATE carts SET status='{$_POST['status']}' WHERE id='{$_POST['id']}'"; $result = mysql_query($query); unset($row); } ?> 
  • And management of this line gets? what does the web server write in error_log? Please add your question with this information by clicking edit . - aleksandr barakin
  • If the rest of the code is executed, then the whole expression $true_activity == $true_start returns false , so the update does not occur. In general, the code is terrible, first of all, because it contains a security hole. I hope it saddens you - ArchDemon
  • @ArchDemon It returns true, the fact is that this value is not entered into the database. All columns are set to zero, and the status column should simply change from Active to Overdue. That's all. Tell me how to do? - B0baFeet 2:42 pm
  • @alexanderbarakin It returns true, the fact is that this value is not entered into the database. All columns are set to zero, and the status column should simply change from Active to Overdue. That's all. Tell me how to do? - B0baFeet 2:43 pm
  • What exactly is in the variables mentioned in the request ( $_POST['status'] and $_POST['id'] ), before its execution, have you already checked? - aleksandr barakin

0