doq1969 2013-12-06 09:38
浏览 23
已采纳

从表中批准用户 - 复选框

I'm writing an php script to approve users that registered on my page, but i'm facing a little problem when i want to approve them. Here's as far as i could get.

Table:

<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("activation") or die(mysql_error());
//User Approval Script
$result2 = mysql_query("SELECT * FROM userinfo WHERE status='0'") 
or die(mysql_error());
echo "<table border='1'>";
echo "<tr> <th>Name</th> <th>Action</th> <th>Hours</th> <th>Approve</th> </tr>";
while($row = mysql_fetch_array( $result2 )) {
 // Print out the contents of each row into a table
 echo "<tr><td>"; 
 echo $row['first_name'];
 echo "</td><td>"; 
 echo $row['last_name'];
 echo "</td>"; 
 echo "<td>"; 
 echo $row['email'];
 echo "</td><td>";
 echo "<form action=\"approve.php\" method=\"post\"><input name=\"approve[]\" type=\"checkbox\">";
 echo "</td></tr>";
}
echo "</table>";
echo "<input type=\"submit\" value=\"Approve\"></form>";
?>

approve.php

<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("activation") or die(mysql_error());
$ticked = $_POST['approve'];

foreach($ticked as $id) {
     mysql_query("UPDATE status SET approved = '1' WHERE `ID` = '$id'");
}
unset($id);  
?>

I would also like to know how i can send email to each user that is approved...

Thanks in advance everyone!

Edit:

The page on approve.php is all blank, and status isn't getting updated.

  • 写回答

3条回答 默认 最新

  • dongzhun4898 2013-12-06 09:49
    关注

    Can you try this, Moved <form> tag from near checkbox into top and added checkbox value with $row["id"]

    <?php
            mysql_connect("localhost", "root", "") or die(mysql_error());
            mysql_select_db("activation") or die(mysql_error());
            //User Approval Script
            $result2 = mysql_query("SELECT * FROM userinfo WHERE status='0'") 
            or die(mysql_error());
            echo "<form action=\"approve.php\" method=\"post\"><table border='1'>";
            echo "<tr> <th>Name</th> <th>Action</th> <th>Hours</th> <th>Approve</th> </tr>";
            while($row = mysql_fetch_array( $result2 )) {
             // Print out the contents of each row into a table
             echo "<tr><td>"; 
             echo $row['first_name'];
             echo "</td><td>"; 
             echo $row['last_name'];
             echo "</td>"; 
             echo "<td>"; 
             echo $row['email'];
             echo "</td><td>";
             echo "<input name=\"approve[]\" type=\"checkbox\" value='".$row["id"]."' >";
             echo "</td></tr>";
            }
            echo "</table>";
            echo "<input type=\"submit\" value=\"Approve\"></form>";
    ?>
    

    In approve.php,

    <?php
        mysql_connect("localhost", "root", "") or die(mysql_error());
        mysql_select_db("activation") or die(mysql_error());
        $ticked = $_POST['approve'];
    
        foreach($ticked as $id) {
             mysql_query("UPDATE status SET approved = '1' WHERE `ID` = '$id'");
    
             $message ='Approved message';
    
             mail('to email address', 'Your Subject', $message);
        }
    
     ?>
    

    Note: Use mysqli_* functions or PDO instaed of using mysql_* functions (deprecated)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号