Foros del Web » Programando para Internet » PHP »

Problemas con login.php

Estas en el tema de Problemas con login.php en el foro de PHP en Foros del Web. Hola a todos, tengo un problema con el login. Lo que quiero hacer se supone que es simple, que un usuario se logue con su ...
  #1 (permalink)  
Antiguo 11/08/2009, 06:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 14 años, 8 meses
Puntos: 0
Problemas con login.php

Hola a todos, tengo un problema con el login. Lo que quiero hacer se supone que es simple, que un usuario se logue con su nombre y contraseña y que luego en el index.php salga bienvenido "usuario".

He conseguido que el usuario se logue(insertar en la tabla,hacer la consulta,verificarlo) también consigo que aparezca lo de bienvenido en el index.php pero no se si hay que pasarle la variable $usuario a index.php e imprimirla o yo que se...Cuando actualizo la pagina ya no sale el nombre del usuario.

Ya se que este tema puede estar manido. He mirado varios post sobre este tema pero dejo de hacerme pajas mentales. Si me pueden ayudar se lo agradeceria. Os dejo el codigo:

validar.php

Código PHP:
<?php

//datos para establecer la conexion con la base de mysql.
mysql_connect('xxxxxxx','xxxxxxxxxxx','xxxxxxxxx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('xxxxxxxxxxxx')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function 
quitar($mensaje)
{
    
$nopermitidos = array("'",'\\','<','>',"\"");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}
if(
trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
    
    
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
    
$password $HTTP_POST_VARS["password"];
    
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
            
$_SESSION["k_username"] = $row['usuario'];
            echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';

            
?>
            <form action="index.php" method="post">
            <input type="hidden" name="usuario" value="<?=$usuario?>"> <!--le pasamos la variable usuario a index.php -->
            <input type="submit" value="Entrar" />
            </form>
            <?php

            
        
        
}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();
?>
e index.php

Código PHP:
 <?php

require('configuracion.php');
require(
'funciones.php');
include(
'header.php');

$user $_POST['usuario'];//cualquiera de las 2 una va en el login y la otra en donde se requiera el saludo o usar session en vez de cookie :D
//$user = $_COOKIE['usuario'];
$sql "SELECT * FROM usuarios WHERE usuario='$user'";
$result mysql_query($sql) or die (mysql_error());
$row mysql_fetch_array($result);
echo 
'BIENVENIDO '.$row['usuario'];  

resto de codigo....
  #2 (permalink)  
Antiguo 11/08/2009, 06:51
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con login.php

Si tu variable $usuari es la misma que $_SESSION['k_username'], no te haria,

Código php:
Ver original
  1. echo 'BIENVENIDO '.$_SESSION['k_username'];
  #3 (permalink)  
Antiguo 11/08/2009, 06:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problemas con login.php

no me haría?lo siento no te entiendo es que me sacan del c y c++ y me pierdo
  #4 (permalink)  
Antiguo 11/08/2009, 07:05
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con login.php

Mira este link -> http://www.desarrolloweb.com/articulos/235.php. Hay muy buena informacion sobre sessiones...
  #5 (permalink)  
Antiguo 11/08/2009, 07:07
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 14 años, 8 meses
Puntos: 0
si pongo el session_start(); en el index.php me sale el maldito warning pero el nombre del usuario se queda(algo es algo). El session_start lo tengo puesto en login.php y no me da problemas pero en index si. No se no se

bueno se arreglo con esto en el index.php

Código PHP:
<?php
session_start
();
?>

<?php
require('configuracion.php');
require(
'funciones.php');
include(
'header.php');
 
      
echo 
'BIENVENIDO '.$_SESSION['k_username'];
funciona pero no entiendo la diferencia de esto a:

Código PHP:
<?php
session_start
();



require(
'configuracion.php');
require(
'funciones.php');
include(
'header.php');
 
      
echo 
'BIENVENIDO '.$_SESSION['k_username'];

en fin gracias machoman112233

Última edición por GatorV; 11/08/2009 a las 09:02
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:55.