Foros del Web » Programando para Internet » PHP »

Porq no funciona mi sesion

Estas en el tema de Porq no funciona mi sesion en el foro de PHP en Foros del Web. hola amigos hize este codigo para sesion, ya tengo mi db creada que se llama prueba, y mi tabla sesion que contiene: id varchar (20) ...
  #1 (permalink)  
Antiguo 22/05/2010, 22:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 90
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Porq no funciona mi sesion

hola amigos hize este codigo para sesion, ya tengo mi db creada que se llama prueba, y mi tabla sesion que contiene:
id varchar (20)
usuario varchar(40)
contrasena varchar (20)

ya tiene 4 registros

y mi sesion.php es el siguiente. cuando yo ingrese el usuario q tengo en mi db debe llevarma a index.php. el cual me imagino q antes de body debe tener <?php session_start; ?> listo aqui esta sesion.php

<?php
//esto es para el formulario no enviado
if (!$_POST['enviar']){

?>

<html>
<head>
<style type="text/css">
<!--
#Titulo {
width: 1000px;
height: 70px;
background-color: #066;
color: #FFF;
}
body,td,th {
color: #FFF;
}
body {
background-color: #099;
margin-top: 0px;
}
#Titulo {
height: 30px;
}
#pie {
background-color: #066;
}
#pie {
width: 1000px;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>

<div id="Titulo">
<center> <h2> LIBRERIA L.T.D.A</h2></center></div>
<br>
<br>
<br>
<table width="298" border="3" align="center" cellspacing="5">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<tr>
<td width="101" bgcolor="#006666"> <strong>Usuario</strong></td>
<td width="168" bgcolor="#006666"><input type="text" size="28" name="usuario" /> </td>
</tr>
<tr>
<td bgcolor="#006666"><strong>Password</strong></td>
<td bgcolor="#006666"><input name="contrasena" type="password" size="28" /></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#006666"><input type="submit" name="enviar" value="Iniciar sesion" /></td>
</tr>
</form>
</table>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<div id="pie"><center><strong>Ing. Sitemas VIII semestre - 2010</strong></center></div>
</body>
</html>

<?php
}

else { //Este es para el formulario enviado

// primero revisa el nombre de usuario
if (isset($_POST['usuario'])|| trim($_POST['usuario'])==""){
die ("¡Debe ingresar un nombre de usuario!");
}
// ahora revisamos la contraseña

if (isset($_POST['contrasena']) || trim($_POST['contrasena'])==""){

die ("¡Debe ingresar una contraseña!");
}

// asignamos variables y escape luego te digo pa q sirve esto jajaj

$entrada_user= mysql_real_escape_string($_POST['usuario']);
$entrada_pass= mysql_real_escape_string($_POST['contrasena']);
// conexion y ejecuto la consulta

mysql_connect("localhost","root","1234") or die("NO se pudo realizar la conexión");
mysql_select_db("prueba");

$consulta= "SELECT id from sesion where usuario='$entrada_user' and contrasena=password('$entrada_pass')";
$resultado=mysql_query($consulta);
$result_num = @mysql_num_rows($resultado);
if ($result_num==1) {

// si existe la fila, la conbinacion es correcta, entonces incie sesiòn

session_start();

//registra una variable de sesiòn
$_SESSION['UsuarioAutorizado']=1;
// redirige el firefox a el php que deseeas

header("Location: ./index.php");

}

else {


// Ahora si la fila no existe
header ("Location: ./phpinfo.php");
}


}
?>

ahora cuando escribo en las cajas de texto y pincho el boton solo sale ingrese nombre usuario pero si lo ingreseeee!! bueno ayudenme gracias

Última edición por kosios; 22/05/2010 a las 22:33 Razón: equivocacion en algunas cosas
  #2 (permalink)  
Antiguo 23/05/2010, 00:22
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Porq no funciona mi sesion

pero si ya iniciaste la session en index.php no es necesario volvera a crear, solo debes asigarle mas variablea a tu session.

y lo que puedes hacer el ver tu carpeta /tmp tiene los permisos suficientes para alojar las sessiones, a mi em paso una vez, pero por eso tira error. Lo mas probable es que sea donde inicias dos veces la session.

y cuando pongas codigo, encierralo en
Código HTML:
 [HIGHLIGHT="PHP"][/HIGHLIGHT]
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #3 (permalink)  
Antiguo 23/05/2010, 17:05
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Porq no funciona mi sesion

Te corregi esto

// primero revisa el nombre de usuario
if (!isset($_POST['usuario']) || trim($_POST['usuario'])==""){
die ("¡Debe ingresar un nombre de usuario!");
}
// ahora revisamos la contraseña

if (!isset($_POST['contrasena']) || trim($_POST['contrasena'])==""){
die ("¡Debe ingresar una contraseña!");
}




Si el resto del codigo no te funciona, avisa que le hice unos cambios, ya a mi no me funcionaba...


Saludos...!

Etiquetas: Ninguno
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 21:59.