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>
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>
Código PHP:
fabiantronc.hostei.com/test