亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ajax 請求無法使用 PHP 和 MySQL 單擊按鈕

Ajax 請求無法使用 PHP 和 MySQL 單擊按鈕

慕絲7291255 2021-11-18 20:14:23
我在單擊按鈕時通過 JavaScript 發送 ajax 請求。當按鈕被點擊時,會從執行 ajax 請求的地方調用一個函數。這是調用函數的html代碼:echo "<form > ";if ($status == 'regular') {    echo "<input type='hidden' value='".$id."' name='id'>";     echo "<input type='hidden' value='official' name='status'>";    echo "<td><button class='btn btn-info' onclick='UpdateStatus(".$id.",'official')'>UPDATE TO OFFICIAL</button><br><br>";}if ($status == 'official') {     echo "<input type='hidden' value='".$id."' name='id'>";     echo "<input type='hidden' value='regular' name='status'>";echo "<td><button class='btn btn-success' onclick='UpdateStatus(".$id.",'regular')'>UPDATE TO REGULAR</button><br><br>";    }echo "</form>";UpdateStatus()是有ajax請求的函數。我從這里發送$id用戶 ID 和要更新的狀態。這是 UpdateStatus() 函數:<script>function UpdateStatus(str,str1) {if (str.length == 0) {    document.getElementById("txtHint").innerHTML = "";    return;} else {    var xmlhttp = new XMLHttpRequest();    xmlhttp.onreadystatechange = function() {      //ready    };    xmlhttp.open("GET", "update_status.php?id=" + str + "&status=" + str1, true);    xmlhttp.send();}}</script>的str和str1分別是編號和狀態。這是update_status.php:<?php$id = $_REQUEST["id"];$status = $_REQUEST["status"];$server_name = "localhost";$user_name = "root";$password = "";$db = "diwan";$conect = new mysqli($server_name, $user_name, $password, $db);if($conect->connect_error){ die("Connection failed ".$conect->connect_error); }$sql = "UPDATE user SET status = '$status' WHERE UserID = $id";if(!$conect->query($sql))      {echo "error in adding record ".$conect->error;}$result = $conect->query($sql);?>當我點擊按鈕時,我得到了這種格式的網址:http://localhost/diwan_web/manageusers.php?id=2&status=official但它不會更新數據庫中的數據。請指導我哪里錯了或者有什么遺漏。任何建議將不勝感激。
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

代碼看起來不錯??赡艽嬖谀鷽]有看到的錯誤。


將此添加到頂部:


ini_set('error_reporting', E_ALL);

ini_set('display_errors', true);


查看完整回答
反對 回復 2021-11-18
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

有一些問題:

  1. 您需要確保按鈕不會重新加載頁面(type='button'另一篇文章所述)。

  2. 我們應該始終對 HTML 屬性使用雙引號以防止此類錯誤(使用onclick=\"UpdateStatus('param-here')\"代替onclick='...'

  3. 如果您使用 PHP 的雙引號功能,則不需要手動連接(如果 PHP$在雙引號中查找,就像echo "Variable is: $x"它嘗試$x自動查找和連接變量一樣)。

如果您應用上述更改,您的代碼應如下所示:

echo "<form >";

if ($status == 'regular') {

  echo "<input type='hidden' value='$id' name='id'>";

  echo "<input type='hidden' value='official' name='status'>";

  echo "<td><button type='button' class='btn btn-info' onclick=\"UpdateStatus('$id','official')\">UPDATE TO OFFICIAL</button><br><br>";

}

if ($status == 'official') {

  echo "<input type='hidden' value='$id' name='id'>";

  echo "<input type='hidden' value='regular' name='status'>";

  echo "<td><button type='button' class='btn btn-success' onclick=\"UpdateStatus('$id','regular')\">UPDATE TO REGULAR</button><br><br>";

}

echo "</form>";


查看完整回答
反對 回復 2021-11-18
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

看起來你的語法是錯誤的。嘗試 $sql = "UPDATE user SET status = ".$status." WHERE UserID = ".$id";


查看完整回答
反對 回復 2021-11-18
  • 3 回答
  • 0 關注
  • 226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號