php使用javascript确认函数回显超链接

I have been using this code for deleting data from database. What i wan is whenever a user clicks an image link to delete data from the confirm function prompts up and ask for action, i am getting error in this code.

$delurl = "delete_dish.php?dish_id=".$row['id'];
$img = "<img src = 'images/delete.png'>";
echo "<a href=".$delurl.";
echo "onclick='return confirm('Are you sure you want to delete.')'>".$img."</a>";   

Maybe the error is in double quotes or single quotes, Any help

Thanks in advance

You can, may and should escape when handling stuff like this:

echo "<a href=\".$delurl.\"";
echo " onclick=\"return confirm('Are you sure you want to delete.')\">".$img."</a>";

lg,

flo

change

echo "<a href=".$delurl."; 

to

echo "<a href=\"".$delurl."\" "; 

I would us the following instead of escaping, this is more readable to me:

 $delurl = "delete_dish.php?dish_id=".$row['id'];
 $img = "<img src = 'images/delete.png'>";
?>
<a href="<?=$delurl?>" onclick="return confirm('Are you sure you want to delete?')"><?=$img?></a>
$delurl = "delete_dish.php?dish_id=".$row['id'];
$img = "<img src = 'images/delete.png'>";

$confirm_box <<<CONFIRM
<a href="$delurl" 
onclick="return confirm('Are you sure you want to delete?')">$img</a> 
CONFIRM;

// then elsewhere ...
echo $confirm_box

Always tend towards using the HEREDOC syntax to construct HTML/JS output, it will save you a lot of heartache. Just watch out for the major gotcha, DO NOT INDENT THE FIRST/LAST lines of the heredoc declaration.

EDIT The benefit being that you can mix single and double quotes as much as you like, you only have to worry about the JS quoting - PHP variables are interpolated without the quotes. You can further wrap curly quotes around your PHP variables like {$this} to make it easier to read, but also to delineate $this and {$this}tle.