The reason this changed is probably, that urlencode also encodes * which makes it a valid id. The question is, should this be the case, means every id passed will be a valid id.