Sobre Sessiones

Mira te voy a ir explicando por partes para que lo entiendas y no sea tan largo el mensaje tu me puedes responder si vas entendiendo y yo te envío la otra parte del código, primero tengo una página de interface para autenticarse, formada por dos select, el segundo depende del primero y esto lo controlo con javascript porque en el caso del segundo usuario debe seleccionar una opción que determina que datos va a mostrar que no son más que unas url en cada caso, y luego los cuadros de dialogo para la autenticación, yo separe cada tipo de usuario en una página php, o sea lo que debe mostrar de cada usuario están en páginas diferentes y la recepción de los datos usuario y contraseñas así como los del primer select los recojo en la misma página y lo que hago es que en cada caso hago un include(página.php) y abro la página que tiene esos datos correspondientes, el problema es que cuando me logueo como el segundo tipo de usuario me va a la página como si estuviera seleccionando el primer usuario por lo que sospecho que hay algo solapado, o que no esta cogiendo bien los datos de autenticación, este es parte del código de la página de interface :
<script>
function valida(user){
if (user.value == 1) {
document.getElementById('stat').disabled = true;
}
else if (user.value == 2) {
document.getElementById('stat').disabled = false;
}
else if (user.value == 3) {
document.getElementById('stat').disabled = true;
}
}
</script>
</head>
<body>
<div id="top"></div>
<div id="center">
<div class="datos1">
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<div class="datos">
<form action="mostrar.php" method="post" name="goIn">
<p align="left"><img src="img/logo.JPG" width="298" height="98"></p>
<p align="right"><span class="style1"> Tipo de Usuario </span>
<select id="user" name="user" onChange="valida(this);">
<option value="0" >Seleccione</option>
<option value="1">Administrador</option>
<option value="2">Arrendados</option>
<option value="3">Conmutados</option>
</select>
</p>
<p align="right"><span class="style1">Tipo de Estadistica</span>
<select id="stat" name="stat" disabled="true">
<option value="0">Seleccione</option>
<option value="1">Correo</option>
<option value="2">Conexion</option>
</select>
</p>
<p align="right"><span class="style1">Usuario</span>
<input type="text" name="username" />
</p>
<p align="right"><span class="style1">Contraseña</span>
<input type="password" name="password" />
</p>
<p align="right">
<input id="entrar" type="submit" value="Entrar" name="entrar" />
</p>
</form>
</div>
</div>
Esta es la pagina que recoge los datos y llama a las otras paginas dependiendo de ellos:
ini_set ('error_reporting', E_ALL);
session_start();
require_once("functions.inc.php");
// Recoger los Datos
if ($_REQUEST["user"] = 0) {
echo('
<script type="text/javascript"><!--
');
Echo('alert("Ha ocurrido un error de autentificación.Verifique los datos e inténtelo de nuevo, si el problema persiste contacte con su proveedor de Servicios");');
echo('location. Replace("http://webmail.caonao.cu/stat/")');
echo('
// --></script>
');
}
else if ($_REQUEST["user"] = 1) {
echo "
\n\r
\n\r
\n\r"; // head ********************
if ( !isset($_SESSION["usuario"]) || !isset($_SESSION["password"]) ){
$usuario = $_REQUEST["username"];
$clave = $_REQUEST["password"];
} else {
$usuario = $_SESSION["usuario"];
$clave = $_SESSION["password"];
}
$row = TestingUser($usuario,$clave);
$user = $row['username'];
$pass = $row['pass'];
if (($usuario !== $user) and ($clave !== $pass))
{
echo('
<script type="text/javascript"><!--
');
Echo('alert("Ha ocurrido un error de autentificación.Verifique los datos e inténtelo de nuevo, si el problema persiste contacte con su proveedor de Servicios");');
echo('location. Replace("http://webmail.caonao.cu/stat/")');
echo('
// --></script>
');
} else {
$wHat = $_GET["do"];
include("admin.php");
}
exit;
}
else if ($_REQUEST["user"] = 2) {
if ( !isset($_SESSION["usuario"]) || !isset($_SESSION["password"]) ){
$usuario = $_REQUEST["username"];
$clave = $_REQUEST["password"];
} else {
$usuario = $_SESSION["usuario"];
$clave = $_SESSION["password"];
}
$row = TestingUser($usuario,$clave);
$user = $row['username'];
$pass = $row['pass'];
if (($usuario !== $user) and ($clave !== $pass))
{
echo('
<script type="text/javascript"><!--
');
Echo('alert("Ha ocurrido un error de autentificación.Verifique los datos e inténtelo de nuevo, si el problema persiste contacte con su proveedor de Servicios");');
echo('location. Replace("http://webmail.caonao.cu/stat/")');
echo('
// --></script>
');
} else {
include("arrendados.php");
exit;
}
}
else {
echo "
\n\r
\n\r
\n\r";
// Recoger los Datos
if ( !isset($_SESSION["usuario"]) || !isset($_SESSION["password"]) ){
$usuario = $_REQUEST["username"];
$clave = $_REQUEST["password"];
} else {
$usuario = $_SESSION["usuario"];
$clave = $_SESSION["password"];
}
if (doAuth($usuario,$clave) == false){
echo('
<script type="text/javascript"><!--
');
Echo('alert("Ha ocurrido un error de autentificación.Verifique los datos e inténtelo de nuevo, si el problema persiste contacte con su proveedor de Servicios");');...

1 respuesta

Respuesta
1
El problema lo tienes en 3 líneas. Las que son del tipo:
if ($_REQUEST["user"] = 0) {
que deberían ser:
if ($_REQUEST["user"] == 0) {
Con un sólo igual no estás comparando sino realizando una asignación.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas