//check which faction members are online
$sql = mysql_query("SELECT * FROM ".TBL_ACTIVE_USERS."
WHERE faction=$userfaction_id ORDER BY timestamp DESC,username");
//no '' around var as it is an integer, so php doesn't expeect it to be string
$numrows = mysql_numrows($sql);//gets number of members online
if($numrows == 1){ echo 'You are the only faction member online'; }
else{
while($online = mysql_fetch_array($sql)){
echo '<a href="#" class="light_grey">'.$online['username'].'</a>';
echo ', ';
}//loops round all online users
//echoing their usernames
}
Run Code Online (Sandbox Code Playgroud)
如果只有一个成员在线,上面的代码工作正常.问题实际上是美学原因.
如果有多个成员在线,则查询显示:
管理员,系统,
我想知道如何在最后的结果(最后一个成员在线由while(){}子句)这样做我可以删除逗号吗?有没有办法将while语句限制为$ numrows-1或其他类似的东西?然后在名字后面没有逗号和空格的最后一个用户回显?
我真的不想使用卷曲或任何复杂的东西.我正在寻找一种简单的方法来检查url(用户是否会输入url然后存储在我的MySQL数据库中)是否有效并且它是一个有效的url,即域存在.fopen是一个很好的解决方案吗?
任何有关此的教程或提示将不胜感激.
如果我的网站上线(不认为它会,它只是一个学习练习).
我一直在使用mysql_real_escape_string(); 来自POST,SERVER和GET的数据.另外,我一直在使用intval(); 在必须只是数字的字符串上.
我认为这包括我从sql注入?正确?我可以做更多吗?
但是,我不确定它是如何提供的(如果它提供任何保护)来自XSS注射?
有关如何打击这两种攻击形式的更多信息,我们表示赞赏.