gpt4 book ai didi

php - 链接不调用 JS 函数

转载 作者:行者123 更新时间:2023-11-30 10:47:03 24 4
gpt4 key购买 nike

很有趣。我有 2 个链接调用 2 个 JS 函数 - 第一个有效,第二个 - 无效。它仅在参数为空时调用函数 addns()。否则不行...

PHP:

 while ($row_mem = mysqli_fetch_array($mem)) { 
$membs[] = $row_mem['username'];
$membs_id[] = $row_mem['user_id'];

}

}

//FIRST FOREACH CALL PROPERLY
foreach($membs_id as $val_id) {
echo"<a href='javascript:addms($val_id)'><img src='$pcheck' width='66' height='68'
border='1' class='currmem'/></a>&nbsp;";
}


//THIS ONE DOESN'T
foreach($membs as $mes_id) {
echo"<a href='javascript:addns($mes_id)'>$mes_id</a>&nbsp;";
}

JS:

 function addms(msid) { 
var addm = msid;
alert(addm);
}

function addns(nsid) {
var addn = nsid;

alert(addn);




}

我看不到任何错误 - 感谢您的评论!

最佳答案

更新以匹配新答案:

您需要在变量周围加上引号。 ($val_id) 可能有效,因为您正在检索一个 id,我猜它是一个整数,所以它是一个有效的 JavaScript 文字。

($mes_id) 可能不起作用,因为您返回的是字符串但没有用引号引起来,因此它们不是有效的 JavaScript 文字。

因此用户名将是 joe 和 shmoe,javascript 将成为addns(joe)addns(shmoe),这可能不是您想要的。您需要 addns("joe")addns("shmoe")

另请注意,一旦修复,如果用户可以选择他们的用户名,这就是一个 XSS 漏洞。

关于php - 链接不调用 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com