私は PHP の初心者ですが、必要に応じてコードを少し変更できます。送信すると、ページ内に成功/失敗のメッセージが表示されるフォームがあります。しかし、ページ内に表示されるメッセージの代わりに、成功/失敗メッセージを示すプロンプト/アラートが必要でした.
だから私が持っているのは
if ($success){ echo "Sent! Thank you";}
else{ echo "Ops! Try again!";}
何か案は?よろしくお願いします
あなたが望んでいることは望んでいないかもしれませんが…</p>
if ($success){
$message = "Sent! Thank you";
} else {
$message = "Ops! Try again!";
}
?><script>
prompt(<?php echo json_encode($message); ?>);
</script>
<noscript>
<p><?php echo htmlspecialchars($message); ?></p>
</noscript>
注: 入力用の文字列をjson_encode
指定すると、HTML スクリプト要素に含めても安全な JavaScript 文字列リテラルが出力されます。JSON は出力されません。
文字列自体には特殊文字は含まれていませんが、明示的に HTML/JS/etc ではない出力に対して、この種の XSS 保護を実行することをお勧めします。
見栄えの良いものが必要な場合:
<?php
if ($success) {
$message = "Sent! Thank you.";
} else {
$message = "Oops...";
}
echo '<div id="message">'.$message.'<div id="close-button"></div></div>';
?>
このようにして、メッセージを好きなようにスタイル設定できます(絶対に配置するなど)。ただし、divが絶対位置にある場合は、javascriptで閉じるボタンを実装する必要があります。