Skip to content
Advertisement

Delete button with alert does not work in php

If I click the delete button, then it is asking permission from me to delete the contents but after clicking, OK contents are not deleting.

In my understanding, my code can not catch the id to delete the contents.

In my browser search box it is showing :

localhost/new/tree1/view_tree.php?id=

For getting the id code is given below:

<?php
    include('connect.php');
    $result = mysql_query("SELECT * FROM descriptionoftree WHERE vis=0 order by scientificname");
    while($row = mysql_fetch_array($result))
        {
            echo '<tr>';
            echo '<td >'.$row['scientificname'].'</td>';
            echo '<td>'.$row['english_name'].'</div></td>';
            echo '<td>'.$row['banglaname'].'</div></td>';
            echo '<td>'.$row['groupname'].'</div></td>';
            echo '<td><a href="update_tree.php? id='.$row['id'].'" title="Click To Update"><strong>Update</strong></a></td>';
 ?>
    <td><a href="view_tree.php?id=<?php $row['id']?>
     "onclick="return confirm('Are you sure you want to delete?')"<strong>Delete </strong></a></td>
    <?php
        echo '</tr>';
        }   
        ?>

For deleting the row (contents) code is given below:

if(isset($_GET['id']))
   {
     $cid=$_GET['id'];
     $sql=mysql_query("DELETE descriptionoftree WHERE id='$cid'");
   }

Advertisement

Answer

You’re not echoing your variable here.

                                   vvv
<td><a href="view_tree.php?id=<?php $row['id']?>

Add an echo

<td><a href="view_tree.php?id=<?php echo $row['id']?>

Or use short echo tag

<td><a href="view_tree.php?id=<?= $row['id'] ?>

Also, your delete query is wrong. You’re missing FROM.

Should be this:

$sql=mysql_query("DELETE FROM descriptionoftree WHERE id='$cid'");

Also try reading up on SQL Injections, How can I prevent SQL injection in PHP?

Your current code is vulnerable.

Advertisement