Muy buenos dias!
En mi página tengo el siguiente código que verifica el inicio de sesión de los usuarios:
Código PHP:
<?php
include('conexion.php');
if ($_POST['ingresar']){
$sql = " SELECT * FROM usuario";
$sql .= " WHERE nickname='".$_POST['nickname']."'";
$sql .= " AND clave='".$_POST['clave']."'";
$res = mysql_query($sql);
if (mysql_num_rows($res)>0) {
$_SESSION['usuario_logeado'] = true;
$row = mysql_fetch_array($res);
$_SESSION['nombre'] = $row['nombre'];
//$_SESSION'[id'] = $row['idusuario'];
echo '<script language=javascript>';
echo 'window.location = \'index.php\';';
echo '</script>';
} else {
$_SESSION['usuario_logeado'] = false;
}
}
?>
Desde esta misma web, tengo el formulario que lo imprimo con una sentencia "echo", mirá:
Código PHP:
<?php
echo "<form name=\"formlog\" method=\"post\">
<label>Usuario:<br>
<input name=\"username\" type=\"text\" id=\"nickname\" size=\"14\">
</label>
<p>Contraseña:<br>
<label>
<input name=\"password\" type=\"password\" id=\"clave\" size=\"14\">
</label>
<br>
<label>
<input type=\"submit\" name=\"ingresar\" value=\"Login\">
</label>
</p>
</form>";
if (!$_SESSION['usuario_logeado']){
echo "<a class=\"detalle_links\" href=\"index.php?modo=nuevoUsuario\">Registrarse!</a>";
}
?>
Me imprime dos areas de texto y un boton enviar que envia por metodo POST los datos ingresados que son procesados por el primer codigo,
Luego en esta misma pagina tengo el ssiguente codigo que verifica si se conecto, si es asi el nombre de usuario y lo saluda:
Mirá:
Código PHP:
<p>Bienvenido, <?php
if ($_SESSION['nombre'])
$titulo = ' usuario <font color=#ff0000>'.$_SESSION['nombre'].'</font>';
echo " " . $titulo;
if ($_SESSION['usuario_logeado']) {
echo "<a class=\"detalle_links\" href=\"index.php?modo=TerminarSesion\">[Salir]</a>";
} ?></p>
¿Por que no funciona si los datos ingresados como usuario/contraseña son correctos y están en la base de datos?
Esta mal escrito? Por lo menos pienso que si la session inicio tendia que saludarme en el Bienvenido, NombreDelUsuario... No?
Gracias por su tiempo!