[英]Enable/Disable button that changes when clicked and executes SQL
所以基本上我使用的是PHP / AJAX / JavaScript / SQL,這是我的新手,如果我的“已啟用”中有1,則顯示所有用戶的列表,每個用戶旁邊都有一個按鈕,顯示“啟用”數據庫中的“”列;如果為0,則為“禁用”。當我第一次加載頁面時,每個用戶旁邊的按鈕都會正確顯示;如果用戶具有“啟用”按鈕,則當我單擊該頁面時它會啟用用戶,文字將變為“禁用”,但在單擊時不會禁用用戶。
如果首次加載頁面時用戶具有“禁用”按鈕,則單擊該按鈕會將其更改為空白,並且不會禁用該用戶。
我不知道我要去哪里。 到目前為止,我將包括我的代碼。
adminPage.php中啟用/禁用按鈕的代碼
if($enabled=='1'){
$allUsers.='<button id="adminButton_'.$username.'" onclick="adminHandler(\'disable\',\''.$username.'\',\'adminButton_'.$username.'\')">disable</button>';
}
else if($enabled=='0')
{
$allUsers.='<button id="adminButton_'.$username.'" onclick="adminHandler(\'enable\',\''.$username.'\',\'adminButton_'.$username.'\')">enable</button>';
}
adminPage中的adminHandler函數
<script type="text/javascript">
function adminHandler(action,username,elem){
var conf = confirm("Press OK to '"+action+"' this user.");
if(conf != true){
return false;
}
_(elem).innerHTML = "processing ...";
var ajax = ajaxObj("POST", "Includes/adminProcessing.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
if(ajax.responseText == "enable_ok"){
_(elem).innerHTML = "Disable";
} else if(ajax.responseText == "disable_ok"){
_(elem).innerHTML = "Enable";
} else {
_(elem).innerHTML = ajax.responseText;
}
}
}
ajax.send("action="+action+"&username="+username);
}
adminProcessing.php頁面
if (isset($_POST['action']) && isset($_POST['username']))
{
$username = $_POST['username'];
if($_POST['action'] == "enable")
{
$sql = "UPDATE users SET enabled='1' WHERE username='$username' LIMIT 1";
$query = mysqli_query($conn, $sql);
mysqli_close($conn);
echo "enable_ok";
exit();
}
else if($_POST['action'] == "disabled"){
$sql = "UPDATE users SET enabled='0' WHERE username='$username' LIMIT 1";
$query = mysqli_query($conn, $sql);
mysqli_close($conn);
echo "disable_ok";
exit();
}
AJAX文件
function ajaxObj(meth, url) {
var x = new XMLHttpRequest();
x.open(meth, url, true);
x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
return x;
}
function ajaxReturn(x) {
if (x.readyState == 4 && x.status == 200) {
return true;
}
}
您的“ adminHandler”正在傳遞“ disable”,但您正在檢查“ disabled”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.