Pero ahora se me plantea otra duda...esto no me tiraba error, sino que no hacia el segundo if (que si esta registrado lo lleve a "reg.php")
Bueno .. el problema es con ese "AND" y ese "SI" que niegas (!=) .. reamente no sé cuando cuando defines valor a $_SESSION['nick'] .. pero no creo que sea "SI" de valor (o sí?) .. será "pepito" . "fulanito" .. También debes conocer que para operadores lógicos .. el AND y su equivalenet && (el que más veras que se usa normalmente) tiene sus diferencias en cuanto al orden que se efectua la comparación .. Revisa el manual oficial de PHP:
http://www.php.net/manual/en/languag...ors.precedence
Además . .cuando usas sesiones puedes "confiar" para ese nivel de validación en la existencia de dicha variable de sesión $_SESSION['variable'] .. no es necesario ve otro valor más de dicha variable (salvo que ese script en concreto requiera que sea tal usuario por ejemplo bajo el valor de "nick").
más información (actualizada):
www.php.net/session
Un saludo,
PD: Tira a la basura ese libro de Anaya xDD .. comprate uno más actualizado. Los arrays superglobales como $_SESSION, $_POST y demás están disponibles desde hace unos años.