Estás confundiendo asignación con comparación, ese es tu error.
Y de hecho en ambos código está mal aunque "funciona" porque una asignación devuelve el valor asignado como valor de retorno:
Código PHP:
Ver original// MAL
if ($acceso = 1)
if (foo() = 1)
// BIEN
if ($accesso == 1)
if (bar() == 1)
En ambos lugares donde intentas comparar "= 1" es donde cometes la falla, PHP no permite comparar con un sólo "=" como en ASP (me imagino).