Divas lietas:
1) Netiek pārbaudīts vai lietotājs ar tādu username jau eksistē;
2) Aizsardzību pret SQL injekcijām:
function quote_smart($value)
{
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}
Un izmanto to šādi:
$query = sprintf("INSERT INTO users (un,psw,regip,regtime,refid) VALUES (%s,%s,%s,now(),%s);",
quote_smart($un),
quote_smart($psw),
quote_smart($_SERVER['REMOTE_ADDR']),
quote_smart($refid));
$result = mysql_query($query) or die('Query failed: ' . mysql_error());