返信機能について
データベースから読み取られた返信内容:
$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";$result=$db->query($sql);while (($row=$result->fetch_assoc())!=false) { echo '<div id="msg"> <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> <tr> <th scope="row" width="100" align="center"><strong id="mid">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th> <td><p id="msgten">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy();">回复</a>'.$row["time"].'</span></td> </tr> </table> </div>';}
上で読み取った内容をテキストエリアにコピーします:
<script> function toCopy(){ var midval= document.getElementById("mid").innerHTML; var msg= document.getElementById("msgten").innerHTML; document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); }</script>
効果:
問題は、テキスト ボックスに表示される内容は、常にユーザーによって最後に読み取られた内容であるということです。それは項目 13、クリックしたときに返信をボックスにコピーする方法です
ディスカッションに返信 (解決策)
id="msgten"
ID は重複しているため、次のように使用できませんこれ 。
次のように変更します
$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";$result=$db->query($sql);$i = 0;while (($row=$result->fetch_assoc())!=false) { echo '<div id="msg'.$i.'"> <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> <tr> <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th> <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td> </tr> </table> </div>'; $i++;}
<script> function toCopy(c){ var midval= document.getElementById("mid"+c).innerHTML; var msg= document.getElementById("msgten"+c).innerHTML; document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); }</script>
id="msgten"
ID が重複しているため、このように使用することはできません。
このように変更してください
$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";$result=$db->query($sql);$i = 0;while (($row=$result->fetch_assoc())!=false) { echo '<div id="msg'.$i.'"> <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> <tr> <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th> <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td> </tr> </table> </div>'; $i++;}
<script> function toCopy(c){ var midval= document.getElementById("mid"+c).innerHTML; var msg= document.getElementById("msgten"+c).innerHTML; document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); }</script>
神様、ありがとう、問題は解決しました
id="msgten"
ID が重複しているため、このように使用することはできません。
次のように変更してください
$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";$result=$db->query($sql);$i = 0;while (($row=$result->fetch_assoc())!=false) { echo '<div id="msg'.$i.'"> <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> <tr> <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th> <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td> </tr> </table> </div>'; $i++;}
<script> function toCopy(c){ var midval= document.getElementById("mid"+c).innerHTML; var msg= document.getElementById("msgten"+c).innerHTML; document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); }</script>
マスター、なぜ新しく送信したメッセージがボックスにコピーされないのですか?
別のブラウザを試してください
どういうことですか?メッセージ?ボックスへ?
新しい投稿を入力した後、ページを更新して再リストしてください。
???の場合、プロセスは???投稿フォーム経由で送信しておらず、リストを更新していない場合は除きます。
新しい投稿を入力したら、ページを更新して再リストします。
???の場合、プロセスは???投稿フォーム経由で送信しておらず、リストを更新していない場合は除きます。
podt を使用して送信しました。送信が成功した後、リダイレクトされたページは確かに更新されました
<form action="massage_save.php" method="post"> <div id="msgbox" onmouseover="this.style.borderColor='#2883B0'" onmouseout="this.style.borderColor='#CCC'" ><textarea name="msg" cols="107" rows="5" required="required"></textarea></div><br /> <input name="submit" type="submit" value="提交" id="button" style="height:40px;color:#FFF;font-size:14px; cursor:pointer"/> </form>
別のブラウザを試してください
OK、戻って試してみます
送信後に更新すると何が問題ですか?? ? ?
新しいメッセージに返信できないのですが?
その場合、メッセージに特殊文字が含まれています。
<script> <br> function toCopy(c){ <br> varmidval= document.getElementById("mid"+c).innerHTML; <br> var msg= document.getElementById("msgten"+c).innerHTML; //追加1 つの文がありますか? <br> alert(midval + ' ' + msg); <br> document.getElementById("msgcon").value = "reply"+midval+"楼"+"["+msg+"]"; <br> .getElementById("msgcon").focus(); <br> } <br> </script>
送信後の更新の何が問題ですか?
新しいメッセージに返信できないのですが?
その場合、メッセージに特殊文字が含まれています。
<script> <br> function toCopy(c){ <br> varmidval= document.getElementById("mid"+c).innerHTML; <br> var msg= document.getElementById("msgten"+c).innerHTML; //追加1 つの文がありますか? <br> alert(midval + ' ' + msg); <br> document.getElementById("msgcon").value = "reply"+midval+"楼"+"["+msg+"]"; <br> .getElementById("msgcon").focus(); <br> } <br> </script>
送信後に更新すると何が悪いのですか????
新しいメッセージに返信できないのですが?
その場合、メッセージに特殊文字が含まれています。
<script> <br> function toCopy(c){ <br> varmidval= document.getElementById("mid"+c).innerHTML; <br> var msg= document.getElementById("msgten"+c).innerHTML; //追加1 つの文がありますか? <br> alert(midval + ' ' + msg); <br> document.getElementById("msgcon").value = "reply"+midval+"楼"+"["+msg+"]"; <br> .getElementById("msgcon").focus(); <br> } <br> </script>
[返信] をクリックすると、データベースからの最後の出力だけが無効であることがわかりました。ボックスがポップアップしました
解決しました。コンソールを開いたところ、最後の応答の ID に $i が含まれていないことがわかったので、$i に初期値 1 を割り当てました。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。
