Foros del Web » Programando para Internet » PHP »

No me funcionan las sesiones :(

Estas en el tema de No me funcionan las sesiones :( en el foro de PHP en Foros del Web. Amigos, alguien puede revisar el código este para ver cual es el problema ? Es una pantalla de login que pide usuario y contraseña y ...
  #1 (permalink)  
Antiguo 09/12/2005, 13:09
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 19 años, 6 meses
Puntos: 0
No me funcionan las sesiones :(

Amigos, alguien puede revisar el código este para ver cual es el problema ?
Es una pantalla de login que pide usuario y contraseña y devuelve si existe o no, y, en el caso de existir, imprime en pantalla el valor de la variable $_SESSION['user_ok`], pero no lo hace, solo me dice que existe, por lo que entiendo que hay algun problema con las sesiones.

Código:
<?
session_start();

if(isset($_POST['enviar'])){
	
	include( '../conf.php' ); // este fichero contiene la conexion a la BBDD.
	
	$pass = md5($_POST['password']);
	$query = "SELECT * FROM usuarios WHERE usuario = '".$_POST['usuario']."' AND password = '$pass'";
	$result = mysql_query($query);
	if(mysql_num_rows($result) > 0){
		echo "El usuario existe";
		$_SESSION['user_ok'] = $_POST['usuario'];
		echo $_SESSION['usuario'];
		} else {
		echo "El usuario no existe";
		}
	} else {
?>
<form name="form1" method="post" action="">
  <table width="60%" border="0" align="center">
    <tr>
      <td><div align="center">Centro de administraci&oacute;n, haga el favor de identificarse.</div></td>
    </tr>
    <tr>
      <td><div align="center">
        <table width="60%" border="0">
          <tr>
            <td>usuario: 
              <input name="usuario" type="text" id="usuario"></td>
          </tr>
          <tr>
            <td>contrase&ntilde;a: 
              <input name="password" type="password" id="password"></td>
          </tr>
        </table>
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="enviar" type="submit" id="enviar" value="enviar">
      </div></td>
    </tr>
  </table>
</form>
<?
}
?>
Muchas gracias y saludos a todos.
__________________
Impala
  #2 (permalink)  
Antiguo 09/12/2005, 13:18
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Exclamación

Código PHP:
   echo $_SESSION['usuario']; 
con esta vas imprimir la variable 'usuario' porque no modificas tu echo....
  #3 (permalink)  
Antiguo 09/12/2005, 13:33
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Y si pones asi??
Código PHP:
<?
session_start
();

if(isset(
$_POST['enviar'])){
    
    include( 
'../conf.php' ); // este fichero contiene la conexion a la BBDD.
    
    
$pass md5($_POST['password']);
    
$query "SELECT * FROM usuarios WHERE usuario = '".$_POST['usuario']."' AND password = '$pass'";
    
$result mysql_query($query);
    if(
mysql_num_rows($result) > 0){
        echo 
"El usuario existe";
                
$_SESSION['user_ok'] = $_POST['usuario'];
                echo 
$_SESSION['user_ok'];
....
__________________
Mi blog
  #4 (permalink)  
Antiguo 09/12/2005, 13:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Código PHP:
if(mysql_num_rows($result) > 0){
        echo 
"El usuario existe";
        
$_SESSION['user_ok'] = $_POST['usuario'];
        echo 
$_POST['usuario'];
        } else {
        echo 
"El usuario no existe";
        }
    } else { 
El valor de una variable de sesión no puedes esperar ver su valor (el real) hasta la próxima petición de ese mismo script u otro que lea ese valor de esa variable ...

Así que ese script debería redireccionar a si mismo o a otro sitio cuando crees tu variable de sesión para usarla .. mientras tanto .. si le das valor ahí mismo a esa variable de sesión, usa la variable o dato directamente si lo requieres.

Código PHP:
if(mysql_num_rows($result) > 0){        
        
$_SESSION['user_ok'] = $_POST['usuario'];
        
header("Location: otrapagina.php");
                          exit;
        } else {
        echo 
"El usuario no existe";
        }
    } else { 
Y en otrapagina.php
Código PHP:
<?
session_start
();
echo 
$_SESSION['user_ok'];
?>
Un saludo,
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 15:59.