user3291513 user3291513 - 3 months ago 15
MySQL Question

Delete button with alert does not work in php

If i click delete button, then ask permission from me for delete but after clicking OK not delete. From my code id for delete not get. In my browser search box show :

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

For getting 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 deleterow code is given below:

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

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.

Comments