0

なぜこれが失敗するのですか?onerror=が変数ではなく、手書きの文字列である場合に機能します。

<?php 
$error = "onerror='this.src = \'http://userlogos.org/files/logos/pek/stackoverflow2.png\'';";
for ($i = 1; $i <= 10; $i++) { 
  echo "<img src='http://services.runescape.com/m=itemdb_rs/3716_obj_sprite.gif?id=" . $i . "' alt='ID " . $i . "' title='ID " . $i . "'" . $error . "/>"; 
} 
?>
4

2 に答える 2

2

これを試して:

<?php 
$error = " onerror='this.src =\"http://userlogos.org/files/logos/pek/stackoverflow2.png\";'";
for ($i = 1; $i <= 10; $i++) { 
  echo "<img src='http://services.runescape.com/m=itemdb_rs/3716_obj_sprite.gif?id=" . $i . "' alt='ID " . $i . "' title='ID " . $i . "'" . $error . "/>"; 
} 
?>
于 2012-05-03T20:48:25.857 に答える
-1

引用符が多すぎます。次のように書き直すと、エラーを簡単に見つけることができます。

<?php 
$error = "onerror='this.src = \'http://userlogos.org/files/logos/pek/stackoverflow2.png\'';";
for ($i = 1; $i <= 10; $i++) { 
  echo "<img src='http://services.runescape.com/m=itemdb_rs/3716_obj_sprite.gif?id=$i' alt='ID $i' title='ID $i' $error />"; 
} 
?>

これがまさにあなたが望むものかどうかはわかりませんが、デバッグが簡単です。

于 2012-05-03T20:45:02.920 に答える