Your formula for a NURB curve is not quite correct. You missed out the $w_i$ in the numerator. It should be
$$
p(t)=\frac{\sum\limits_{i=0}^d B^i_m(t) w_ip_i}{\sum\limits_{i=0}^d B^i_m(t) w_i}
$$
You can apply perspective projections to either Bezier curves or b-spline curves in the same way.
Bezier curves are actually just a special case of b-spline curves. Suppose you are working with curves of degree $m$, and you use the knot sequence consisting of $m+1$ zeros followed by $m+1$ ones: $(0,0,\ldots, 0,1,1,\ldots, 1)$. The b-spline basis functions constructed from this knot sequence are actually Bernstein polynomials, so the associated b-spline curve will actually be a Bezier curve.
The limits in the summations are directly related to the numbers of control points. If a b-spline curve has $d+1$ control points $P_0, \ldots, P_d$, the summation runs from $0$ to $d$, regardless of its degree. A Bezier curve of degree $m$ has $m+1$ control points, so the summation runs from $0$ to $m$.
The simplest approach is to use $N+1$ points to construct a curve of degree $N$. You have to assign a parameter ($t$) value to each point. So, to construct a cubic curve through four given points $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$, $\mathbf{P}_3$, you need four parameter values, $t_0, t_1, t_2, t_3$. Then, as @fang said in his answer, you can construct a set of four linear equations and solve for the four control points of the curve. Two of the equations are trivial, so actually you only have to solve two equations.
The simplest approach is to just set
$$t_0 = 0 \quad , \quad
t_1 = \tfrac13 \quad , \quad
t_2 = \tfrac23 \quad , \quad
t_3 = 1$$
Then the matrix in the system of linear equations is fixed, and you can just invert it once, symbolically. You can get explicit formulae for the control points, as given in this question. But this only works if the given points $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$, $\mathbf{P}_3$ are spaced fairly evenly.
To deal with points whose spacing is highly uneven, the usual approach is to use chord-lengths to calculate parameter values. So, you set
$$c_0 = d(\mathbf{P}_0, \mathbf{P}_1) \quad ; \quad
c_1 = d(\mathbf{P}_1, \mathbf{P}_2) \quad ; \quad
c_2 = d(\mathbf{P}_2, \mathbf{P}_3)$$
Then put $c = c_0+c_1+c_2$, and
$$t_0 = 0 \quad , \quad
t_1 = \frac{c_0}{c} \quad , \quad
t_2 = \frac{c_0+c_1}{c} \quad , \quad
t_3 = 1$$
Then, again, provided $t_0 < t_1 < t_2 < t_3$, you can set up a system of linear equations, and solve.
If you're willing to do quite a bit more work, you can actually construct a cubic curve passing through 6 points. Though, in this case, you can't specify the parameter values, of course. For details, see my answer to this question.
Best Answer
Applying any affine transformation will work the same way.
Specifically, if $T$ is an affine transformation, then you can compute a point on a transformed Bézier curve in two ways:
(1) calculate a point $P(t)$ on the original curve, and then transform this point get a new point $T(P(t)$;
(2) transform the control points $P_i$ to get new ones $T(P_i)$, construct a Bézier curve from these, and calculate the point at parameter value $t$ on this curve
The result of these two calculations will be the same point.
So, in short, you can transform the curve just by transforming its control points.
Or, in symbols $$ T\left(\sum_{i=0}^m \phi^m_i(t)P_i\right) = \sum_{i=0}^m \phi^m_i(t)T(P_i) $$
Here $\phi^m_i(t)$ is the $i$-th Bernstein polynomial of degree $m$.
Affine transformations include translation, rotation, uniform and non-uniform scaling, shearing, parallel projection onto a plane, and so on. Central projection (as in perspective viewing) is not an affine transformation.