Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2009, 12:07
fabiantronc
 
Fecha de Ingreso: octubre-2009
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Problema con SESSION en mi servidor.

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.