簡體   English   中英

包含“。”的onClick函數參數

[英]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;
?>

http://thomas-smyth.co.uk/admin/manageusers.php

您應該更新您的代碼

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM