[英]onClick function parameter containing “.”
我正在嘗試創建一個表,該表包含該表的“更改密碼”列中各項的onClick函數,以便我的系統管理員可以更改每個人的密碼。
每個onClick都會調用函數“ ChangePassOpen”,該函數將打開一個帶有新密碼輸入框和另一個按鈕的模式,以實際調用該函數來更改密碼。
為了使我的程序能夠識別管理員正在更改的帳戶,我需要將用戶名作為參數傳遞,但是我的用戶名包含“。” 因為它們由一個姓氏和姓氏組成,例如“ T.Smyth”。 但是,這會導致錯誤,因為程序認為我正在嘗試傳遞兩個參數,因此會引發錯誤。
關於如何克服這一點的任何想法?
<?php
//Retrieves variables from Javascript.
$Search = $_POST["Search"];
$Type = $_POST["Type"];
if ($Type == "Registration Date"){
$Type = "joined";
}
else if ($Type == "Account Rank"){
$Type = "rank";
}
include "db/openlogindb.php";
if($DBError == true){
$data = 3;
}
else{
$UserSearch = "SELECT username, surname, forename, joined, rank FROM users
WHERE ".$Type." LIKE '%".$Search."%'
ORDER BY surname";
$results = mysqli_query($conn, $UserSearch);
if(mysqli_num_rows($results) == 0){
$data = 1;
}
else{
$data = '';
while($row = mysqli_fetch_assoc($results)){
$data .= '<tr><td>'.$row['surname'].'</td><td>'.$row['forename'].'</td><td>'.$row['username'].'</td><td>'.$row['joined'].'</td><td>'.$row['rank'].'</td><td onClick="ChangePassOpen('.$row['username'].')">Change Password</td></tr>';
}
}
}
include "db/closelogindb.php";
echo $data;
?>
您應該更新您的代碼
echo '<table><tr><td>'.$row['surname'].'</td><td>'.$row['forename'].'</td><td>'.$row['username'].'</td><td>'.$row['joined'].'</td><td>'.$row['rank'].'</td><td onClick="ChangePassOpen(\''.$row["username"].'\')">Change Password</td></tr></table>';
反斜杠字符()被認為是轉義字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.