Ошибка выражения Isset - программирование
Подтвердить что ты не робот

Ошибка выражения Isset

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

У меня проблема с кодом удаления, который, похоже, не работает из-за ошибки:

Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in F:\xamppnew\htdocs\650032\admin\delete.php on line 6

Строка, вызывающая это:

if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {

deletecategory.php

    <h3>
     Delete Category
    </h3>

    <?php $result = mysql_query("SELECT * FROM category"); ?>

<table>
  <?php while($row = mysql_fetch_array($result)) : ?>
  <tr id="<?php echo $row['category_id']; ?>">
    <td><?php echo $row['category_Name']; ?></td>
    <td>
      <button class="del_btn" rel="<?php echo $row['id']; ?>">Delete</button>
    </td>
  </tr>
  <?php endwhile; ?>
</table>

<script>
  $(document).ready(function(){
    $('.del_btn').click(function(){
       var del_id = $(this).attr('rel');
       $.post('delete.php', {delete_id:del_id}, function(data) {
          if(data == 'true') {
            $('#'+del_id).remove();
          } else {
            alert('Could not delete!');
          }
       });
    });
  });
</script>

delete.php

<?php
    if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {
      $delete_id = mysql_real_escape_string($_POST['delete_id']);
      $result = mysql_query("DELETE FROM category WHERE `id`=".$delete_id);
      if($result !== false) {
        echo 'true';
      }
    }
    ?>
4b9b3361

Ответ 1

Вы пропустили этот ):

if(isset($_POST['delete_id']) && !empty($_POST['delete_id']))
                            ^---

Ответ 2

Другие продемонстрировали проблему с отсутствующим ) в выражении, но empty() проверит isset(), так что будет избыточно. Просто проверьте empty():

if(!empty($_POST['delete_id'])) {

Ответ 3

Проблема в том, что этот

if(isset($_POST['delete_id'] && !empty($_POST['delete_id'])))

должен быть

if(isset($_POST['delete_id']) && !empty($_POST['delete_id']))

Ответ 4

Проблема в том, что этот

if(isset($_POST['delete_id'] && !empty($_POST['delete_id'])))

должен быть

if((isset($_POST['delete_id'])) && (!empty($_POST['delete_id'])))