-3

私はデータベースからデータを削除するためにこのコードを使用しています。ユーザーが画像リンクをクリックして確認機能からデータを削除すると、プロンプトが表示されてアクションを要求されるたびに、このコードでエラーが発生します。

$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>";   

エラーは二重引用符または一重引用符である可能性があります。

前もって感謝します

4

4 に答える 4

1

変化する

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

echo "<a href=\"".$delurl."\" "; 
于 2012-08-08T17:18:45.283 に答える
1
$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

HEREDOC 構文を使用して HTML/JS 出力を構築する傾向が常にあります。これにより、心痛が大幅に軽減されます。ヒアドキュメント宣言の最初/最後の行をインデントしないでください。

編集利点は、一重引用符と二重引用符を好きなだけ混在させることができることです.JSの引用について心配するだけで済みます.PHP変数は引用符なしで補間されます. {$this} のような PHP 変数をさらに中引用符で囲んで読みやすくするだけでなく、$this と {$this}tle を区別することもできます。

于 2012-08-08T17:37:06.303 に答える
0

エスケープする代わりに次のようにします。これは私にとってより読みやすいです:

 $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>
于 2012-08-08T17:21:49.657 に答える
-1

次のようなものを処理するときは、エスケープできます。

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

lg、

フロー

于 2012-08-08T17:18:07.437 に答える