--- fenglin/bbs/user_service_reg.php 2025/04/23 06:36:57 1.2 +++ fenglin/bbs/user_service_reg.php 2025/11/03 06:19:31 1.5 @@ -34,7 +34,7 @@ header("Content-Type:application/json; charset=utf-8"); // Validate input data - if (!preg_match("/^[A-Za-z][A-Za-z0-9]{4,11}$/", $username)) + if (!preg_match("/^[A-Za-z][A-Za-z0-9_]{4,11}$/", $username)) { $result_set["return"]["code"] = -1; array_push($result_set["return"]["errorFields"], array( @@ -148,7 +148,7 @@ // Secure SQL statement $nickname = mysqli_real_escape_string($db_conn, $nickname); $realname = mysqli_real_escape_string($db_conn, $realname); - + // Begin transaction $rs = mysqli_query($db_conn, "SET autocommit=0"); if ($rs == false) @@ -159,7 +159,7 @@ mysqli_close($db_conn); exit(json_encode($result_set)); } - + $rs = mysqli_query($db_conn, "BEGIN"); if ($rs == false) { @@ -172,7 +172,7 @@ // Check availability of username and nickname $sql = "SELECT UID FROM user_list WHERE username = '$username' FOR UPDATE"; - + $rs = mysqli_query($db_conn, $sql); if ($rs == false) { @@ -214,9 +214,9 @@ )); } mysqli_free_result($rs); - + $sql = "SELECT UID FROM user_pubinfo WHERE email = '$email' FOR UPDATE"; - + $rs = mysqli_query($db_conn, $sql); if ($rs == false) { @@ -338,4 +338,3 @@ mysqli_close($db_conn); exit(json_encode($result_set)); -?>