Buenas.
Tengo un problema en mi servidor local de PHP.
No puedo loguearme usando SESSION, en mi pagina principal tengo un formulario para loguearse, si estoy logueado no deberia de mostrarse el formulario pero siempre lo muestra. Esto pasa solo en mi servidor (Ubuntu 9.04), ya que en 000webhost.com funciona bien.
Aqui dejo el codigo.
Código PHP:
<html>
<body>
index.html
<?php
session_start();
if($_SESSION["username"] )
{
echo 'Bienvenido'.$_SESSION['nombres'];
echo "$_POST[nombres]";?>
<p><a href="conexion/logout.php">Desconectar</a></p>
<?php
}
else
{
?>
<form method="POST" action="conexion/validar_usuario.php">
Usuario<input type="text" name="usuario" size="20" maxlength="20">
<br>
Contraseña<input type="password" name="password" size="20" maxlength="20">
<br>
<input type="submit" name="accion" value="Ingresar">
</form>
<?php
}
?>
</body>
</html>
validar_usuario.php
Código PHP:
<?php
session_start();
?>
<html>
<head> <!--<META HTTP-EQUIV="Refresh" CONTENT="5"; URL="../../index.html">-->
<body>
<?php
include("conex.phtml");
$link=Conectarse();
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(isset($_POST["usuario"]) && !empty($_POST["usuario"]) && ($_POST["password"]) && !empty($_POST["password"]))
{
$usuario = strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
$password = $_POST["password"];
$result = mysql_query('SELECT password, username, nombres, apellidos1, apellidos2 FROM usuarios WHERE username=\''.$usuario.'\'');
if($row = mysql_fetch_array($result))
{
if($row["password"] == $password)
{
$_SESSION["username"] = $row["username"];
$_SESSION["nombres"] = $row['nombres'];
$_SESSION["apellidos1"] = $row['apellidos1'];
$_SESSION["apellidos2"] = $row['apellidos2'];
echo 'Has sido logueado correctamente '.$_SESSION['nombres']. $_SESSION['apellidos1']. $_SESSION['apellidos2'].' <p>';
echo '<a href="../../index.html">Index</a></p>';
}
else
{
echo 'Password incorrecto';
}
}
else
{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}
else
{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>
</body>
</head>
</html>
Aqui puede probar de que en otro servidor si funciona bien, en mi server local no, y esto es para Intranet y me interesa que funcione en mi localhost (Ubuntu 9.04).
Código PHP:
fabiantronc.hostei.com/test
Adios.