【问题标题】:onClick function parameter containing "."onClick 函数参数包含“.”
【发布时间】:2016-11-11 10:37:25
【问题描述】:

我正在尝试创建一个表,其中包含表的更改密码列中的项目的 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

【问题讨论】:

  • 如何在我的程序上下文中使用它?除了检索到的用户名不能用作参数之外,我目前对 SQL 没有任何问题。
  • 我认为'&lt;/td&gt;&lt;td onClick="ChangePassOpen('.$row['username'].')"&gt; 应该是'&lt;/td&gt;&lt;td onClick="ChangePassOpen(\''.$row['username'].'\')"&gt;
  • 抱歉,它似乎没有按我的预期复制和粘贴。这里的代码框非常有问题。
  • 完美!那行得通。非常感谢!

标签: javascript php html parameters onclick


【解决方案1】:

你应该更新你的代码

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>';

反斜杠字符 () 被认为是转义字符。

【讨论】:

  • 嗯 - 如评论。现在它不能作为拼写错误关闭
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 2011-12-03
相关资源
最近更新 更多