Isset Ausdruck Fehler

Ich habe im Grunde codiert ein code füllt eine Liste von Kategorien, aus meiner Datenbank, dann sind Sie in der Lage zu wählen, welche zu löschen.

Habe ich das Problem mit dem delete-code scheint nicht zu funktionieren, aufgrund von Fehler:

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

Der Linie verursacht wird dies:

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" pun"><?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';
      }
    }
    ?>
Dein code ist anfällig für SQL-Injektionen. mysql_real_escape_string funktioniert nur, wenn der Wert in einer MySQL-string-literal.
Es gibt keine Notwendigkeit zu verwenden isset() und !empty() zur gleichen Zeit. empty funktioniert auch, wenn der Eingang nicht definiert ist: stackoverflow.com/questions/4559925/...

InformationsquelleAutor user3411002 | 2014-04-21

Schreibe einen Kommentar