zhblue / hustoj

Popular Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 开源OJ系统
http://www.hustoj.com/?cat=2
GNU General Public License v2.0
3.27k stars 768 forks source link

可以将昵称这一栏设置为不可修改吗? #637

Open coffuture opened 4 years ago

coffuture commented 4 years ago

给同学们批量创建一堆账户,为了方便管理昵称都是他们的真名,但是有一些调皮的孩子把昵称给改的乱七八糟的,想问问作者这个系统可以将昵称设置为不可修改吗?

zhblue commented 4 years ago

可以修改modify.php去掉对nick的更新

coffuture commented 4 years ago

您好,我把modify.php 中这三行 sql语句去掉以后,确实无法在设置注册信息这一栏修改昵称了,但是相应的也无法修改密码和其他信息了。想要咨询一下具体该删除哪些部分。 1590590225(1)

zhblue commented 4 years ago

你可以只是把前面修改users表的SQL中的nick和参数nick去掉,其他的留着,然后修改solution的sql整个注释掉就行了。

coffuture commented 4 years ago

。。。非常抱歉,“把前面修改users表的SQL中的nick和参数nick去掉”没有很理解,我按照下面这样改了,但是修改好以后,老问题其他的地方比如 密码没办法修改了。 1590633056(1)

zhblue commented 4 years ago

if (strlen($_POST['npassword'])==0) $password=pwGen($_POST['opassword']);
else $password=pwGen($_POST['npassword']);
$nick=htmlentities ($nick,ENT_QUOTES,"UTF-8");
$school=(htmlentities ($school,ENT_QUOTES,"UTF-8"));
$email=(htmlentities ($email,ENT_QUOTES,"UTF-8"));
$sql="UPDATE `users` SET"
."`password`=?,"
//."`nick`=?,"
."`school`=?,"
."`email`=?"
."WHERE `user_id`=?"
;
//echo $sql;
//exit(0);
pdo_query($sql,$password,$school,$email,$user_id);
$sql="update solution set nick=? where user_id=?";
//pdo_query($sql,$nick,$user_id);
header("Location: ./");
?>
`
coffuture commented 4 years ago

非常感谢作者大大的帮助,问题已经解决。