私はここでかなり長い間私の質問(他の人から尋ねられた)への回答を得てきたので、私はstackoverflowに慣れていませんが、まだ答えを見つけることができなかったものに出くわしました。あなたたち/ギャルが助けることができます。
簡単な歴史を説明するために、私は実験装置用のハードウェア チェックアウト システムを構築しました。少し前まで、私は mysql コマンドを手動で実行して機器を追加していましたが、仕事が他の業務で忙しくなりすぎたので、これを管理するための管理ページを作成し、内部の知識のない他の管理者を何人か割り当てることにしました。ハードウェア データベースを変更するだけでなく、基本的な追加/削除ユーザー機能も使用できます。これはかなり前から導入されており、一般的にはうまく機能していますが、別の管理者がブラウザ ウィンドウをアクティブにしようとして別の管理者ユーザーの削除ボタンを誤ってクリックしたという不幸な事件の後、ウィンドウ確認プロンプトを配置することにしました。確認ウィンドウでユーザー名を参照します。ここに私が今持っているコードがあります。私は自分の部分を除いて、関係のないものをすべて削除しました。困っています。全体を投稿する必要がある場合は投稿できますが、200行弱です。
function DelUserValidate()
{
var clicked=document.forms["deluser"]["delrootuser"].value;
var confirmed=confirm("Are you sure you want to delete this user: "+clicked);
if (confirmed==true)
{
return true;
}
else
{
return false;
}
}
<?php
$con = mysql_connect("localhost","webby","webical");
mysql_select_db("checkout", $con);
$result = mysql_query("SELECT * FROM root_mem ORDER BY id");
echo "<table border='1'>
<tr>
<th>Username</th>
<th>Password</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['username'] . "</td>";
$rootusername = $row['username'];
echo '<td bgcolor="#fff">' . $row['password'] . "</td>";
echo "<td bgcolor=\"red\"><form style=\"margin-bottom:0;\" action=\"root-delrootuser.php\" method=\"post\" name=\"deluser\" onsubmit=\"return DelUserValidate();\"><input type=\"submit\" value=\"Delete User\"><input type=\"hidden\" name=\"delrootuser\" value=\"$rootusername\"><input type=\"hidden\" name =\"adminuse\" value=\"$adminuse\"></form></td>";
echo "</tr>";
}
echo "</table>";
?>
このvar clicked=document.forms["deluser"]["delrootuser"].value;
セクションは、私が知る限り、私の問題を引き起こしているものです。
この変数を「テキスト」などの静的なものとして定義すると、ユーザーの横にある削除ボタンをクリックするとすべてが機能します。[OK] または [キャンセル] をクリックするように求められますが、それぞれが期待どおりに機能します。上記のように定義すると、関数が存在しないかのように完全にバイパスされます。ただし、削除しようとしているユーザー名をみんなに見てもらいたいです。最初は $rootusername 変数を渡していないと思ったので、フォームフィールドで、その時点で削除をテストしていたユーザー名に置き換えましたが、それでも関数をバイパスしました。私が見逃しているものについてのアイデアはありますか?