如何添加post方法

noj0wjuj  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(567)

编辑:
单击此处查看图片(它在我的网站上的外观)
代码:

  1. <form action="" method="post">
  2. <input type = "submit" name="sql_update" value="SQL Update">
  3. <?php $admin_checkbox = '<input type="checkbox" name="admin_status">';?>
  4. </form>
  5. $getusers = "SELECT id, username, firstname, lastname, admin FROM registered_users";
  6. $result = mysqli_query($db, $getusers);
  7. if ($result->num_rows > 0) {
  8. while($row = $result->fetch_assoc()) {
  9. echo "<br>". $row["id"]. " &nbsp; - &nbsp; " . $row["username"]. " &nbsp; - &nbsp; " . $row["firstname"]. " &nbsp; - &nbsp; " .$row["lastname"]. " &nbsp; - &nbsp; " .$row["admin"]. " &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; " .$admin_checkbox. "<br>";
  10. }
  11. }
  12. if (isset($_POST['sql_update'])) {
  13. if (empty($_POST["admin_status"])){
  14. echo ("Ni obkljukano");
  15. }

如何连接$admin_复选框以确保此代码正常工作。

  1. if (empty($_POST["admin_status"])){
  2. echo ("Ni obkljukano");
  3. }

更新:
一切都很好!
现在我还想知道我如何能做一个反向效果。如果用户已经是管理员。我必须在elseif语句中键入什么。我真的很抱歉问了这么多问题,包括:/

  1. if (isset($_POST['sql_update'])) {
  2. if (empty($_POST["admin_status"])){
  3. echo ("Ni izbranih elementov.");
  4. }
  5. elseif(){
  6. $sql_admin_off = mysqli_query($db, "UPDATE registered_users SET admin = 0 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
  7. $sql_admin_off;
  8. echo("test");
  9. }
  10. else {
  11. $sql_admin_on = mysqli_query($db, "UPDATE registered_users SET admin = 1 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
  12. $sql_admin_on;
  13. echo("SQL uspešno zapisan!");
  14. }
  15. }

更新#2

  1. if (isset($_POST['sql_update'])) {
  2. if (empty($_POST["admin_status"])){
  3. echo ("Ni izbranih elementov.");
  4. } else {
  5. $sql_admin_on = mysqli_query($db, "UPDATE registered_users SET admin = 1 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
  6. $sql_admin_on;
  7. echo("SQL uspešno zapisan!");
  8. $sql_admin_off = mysqli_query($db, "UPDATE registered_users SET admin = 0 WHERE id NOT IN (".implode(',', $_POST['admin_status']).") ");
  9. $sql_admin_off;
  10. echo("test");
  11. }
  12. }
qvsjd97n

qvsjd97n1#

假设您已成功列出所有带有管理员复选框的用户:
HTML表单
当您列出所有用户并为每个用户设置复选框时,请将复选框值设置为 userId . 还可以使用字段名数组对所有复选框进行分组 name="adminId[]" . 后来 $_POST['adminId'] 将包含 ID's 其中选中了复选框。
然后,您可以简单地使用sql in 操作员更新“admin_rights=true”,如果中列出了id $_POST['adminId'] . 这个 Implode() 将用字符串连接数组元素( , ).

  1. <form action="..." method="post">
  2. <label>
  3. User ID1:
  4. <!-- Admin Checkbox -->
  5. <input type="checkbox" name="adminId[]" value="id1" />
  6. </label><br>
  7. <label>
  8. User ID2:
  9. <!-- Admin Checkbox -->
  10. <input type="checkbox" name="adminId[]" value="id2" />
  11. </label><br>
  12. <label>
  13. User ID3:
  14. <!-- Admin Checkbox -->
  15. <input type="checkbox" name="adminId[]" value="id3" />
  16. </label><br>
  17. <input type="submit" id="edit" name="edit"/>
  18. </form>

php

  1. <?php
  2. // If edit button pressed
  3. if( isset($_POST['edit'])) )
  4. {
  5. // If Admin checkbox were selected then add Admin Rights
  6. if (isset($_POST['adminId']){
  7. $sql = 'UPDATE `usertable` SET `admin_rights`= 'true' WHERE id IN ('.implode(',', $_POST['adminId']).')';
  8. mysqli_query($sql);
  9. }
  10. }
  11. ?>

似乎我误解了您的问题,您仍然无法使用复选框(作为一个整体表单)列出用户。
请看下表:

  1. <form action="" method="post">
  2. <input type = "submit" name="sql_update" value="SQL Update">
  3. <?php
  4. $getusers = "SELECT id, username, firstname, lastname, admin FROM registered_users";
  5. $result = mysqli_query($db, $getusers);
  6. if ($result->num_rows > 0) {
  7. while($row = $result->fetch_assoc()) {
  8. if ($row['admin'] == 1){
  9. echo "<br>". $row['id']. " &nbsp; - &nbsp; " . $row['username']. " &nbsp; - &nbsp; " . $row['firstname']. " &nbsp; - &nbsp; " .$row['lastname']. " &nbsp; - &nbsp; " .$row['admin']. " &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <input type='checkbox' name='admin_status[]' value='".$row['id']."' checked><br>";
  10. }
  11. else echo "<br>". $row['id']. " &nbsp; - &nbsp; " . $row['username']. " &nbsp; - &nbsp; " . $row['firstname']. " &nbsp; - &nbsp; " .$row['lastname']. " &nbsp; - &nbsp; " .$row['admin']. " &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <input type='checkbox' name='admin_status[]' value='".$row['id']."'><br>";
  12. }
  13. }
  14. ?>
  15. </form>

要检查的代码 $_POST 价值:

  1. <?php
  2. if (isset($_POST['sql_update'])) {
  3. if (empty($_POST["admin_status"])){
  4. echo ("Ni obkljukano");
  5. }
  6. }
  7. ?>

更新的进一步更新#2

  1. if (isset($_POST['sql_update'])) {
  2. // All unchecked, set all admin to 0
  3. if (empty($_POST['admin_status'])){
  4. $sql_admin_off = mysqli_query($conn, "UPDATE user SET admin = 0");
  5. }
  6. else{
  7. $sql_admin_on = mysqli_query($conn, "UPDATE user SET admin = 1 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
  8. $sql_admin_off = mysqli_query($conn, "UPDATE user SET admin = 0 WHERE id NOT IN (".implode(',', $_POST['admin_status']).") ");
  9. }
  10. }
展开查看全部

相关问题