• Jueves 14 de Noviembre de 2024, 22:58

Autor Tema:  Mantener Sesiones  (Leído 2789 veces)

anthonn

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Mantener Sesiones
« en: Domingo 24 de Septiembre de 2006, 01:10 »
0
Hola que tal...estoy haciendo un sitio en el cual se debe validar la sesion de usuario para poder mostrar el catalogo de articulos , sin embargo..logo iniciar sesion...y me los muestra, pero cuando me paso de catalogo de articulos a inicio..luego otra vez a articulos...me pide volcer a iniciar sesion, si se supone que previamente lo habia hecho...me imagino que debe ser problema de mi manejo de variables de sesion...como puedo mentener la sesion hasta que se cierre el iexporer...

Gracias de antemano  :hola:

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #1 en: Domingo 24 de Septiembre de 2006, 02:44 »
0
Hola toño :) bienvenido al foro, como primera cosa hubieses añadido tu codigo de cada uno de los archivos. otra cosa te habia mencionado que me los enviaras por correo y asi te contestaba :) pero es mejor por aqui, ya que asi si no puedo yo alguien de aqui del foro te ayudara ;) bye :kicking:

anthonn

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #2 en: Domingo 24 de Septiembre de 2006, 03:16 »
0
Gracias Arkantos...te envio el codigo para ver en que puedo estar mal..ahhh y ya te lo envie a tu correo...

gracias de antemano :D

anthonn

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #3 en: Domingo 24 de Septiembre de 2006, 03:18 »
0
Este es el codigo :D


<html>
<head>
<title>Carrito de compras</title>
</head>
<body>
<?
$conexion=mysql_connect("localhost","antonio","12345");
mysql_select_db("dblaselva",$conexion);
//Obtenemos los detalles del articulo a agregar
//$codigo=$row['codigo'];
$query="select * from articulo";
$result=mysql_query($query,$conexion);
$row=mysql_fetch_array($result);
$nombre=$row['nombre'];
$precio=$row['precio'];
$cantidad=1;
$importe=$precio*$cantidad;
echo $importe;
//Insertamos el articulo al carrito
$query="insert into carrito values ($clave,$nombre,$precio,$cantidad,$importe)";
$result=mysql_query($query,$conexion);
//Verificamos que el articulo aun no este en el carrito
$query="select * from carrito where codigo='$_POST[clave]'";
$result=mysql_query($query,$conexion);
if ($row=mysql_fetch_array($result)){
   //el articulo ya esta en el carrito
$cantidad=$row['cantidad']+1;
$importe=$cantidad*$row['precio'];
$query="update carrito set cantidad='$_POST[cantidad]', importe='$_POST[importe] where codigo='$_POST[clave]'";
$result=mysql_query($query,$conexion);
}
else
{
//Desplegamos el contenido del carrito
$query="select * from carrito";
$result=mysql_query($query,$conexion);
echo "<table border=1>";
echo "<tr><td>Clave</td><td>Nombre</td><td>Precio</td><td>Cantidad</td><td>Importe</td></tr>";
$subtotal=0;}
while ($row=mysql_fetch_array($result))
{
echo "<tr><td>",$row['clave'];
echo "</td><td>",$row['nombre'];
echo "</td><td>",$row['precio'];
echo "</td><td>",$row['cantidad'];
echo "</td><td> <input type=text size=5 value=1",$row['cantidad'],">";
echo "</td><td>",$row['importe'],"</td></tr>";
$subtotal=$subtotal+$row['importe'];
}
echo "</table border='1'><br><br>";
echo "<td>subtotal:</td> ",$subtotal;
echo "<br><td> Iva: </td> ",$subtotal*0.15;
echo "<br> Total:  ",$subtotal*1.15;
echo "</table>";
echo "<br>";
echo "<a href='catalogo.php'>Seguir comprando</a>";

?>
</body>
</html>

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #4 en: Domingo 24 de Septiembre de 2006, 09:14 »
0
Pues en que momento inicias la sesion?

Mira espero que esto te sirva!!!

// Esto es para cerrar la Sesion al Cerrar el Navegador  al inicio del archivo
  ini_set("session.use_only_cookies","1");
  ini_set("session.use_trans_sid","0");

//Inicias la sesion PHP si ya hay una la continua
  session_start();


if ($_SESSION['login']=="SI")
   {
     //Si hay una sesion iniciada le permites navegar hacia el carrito
     header("Location:carrito.php");
   }
else
  {
    //Sino lo envias a iniciar sesion
    header("Location:login.php");
   }

//============================================
//Ejemplo del login.php

<form action="acceso.php" method="POST">
<table border=1 align="center" cellpadding="0" cellspacing="0">
<tr><td colspan=3 background="./img/pane.gif"><strong>Iniciar Sesion</strong></td></tr>
<tr>
<td><br><table border=0>
   <tr>

   <tr><td rowspan=3 width=25 height=25><img src="./img/imglogin.gif">
    </td><td><p class="menu">Usuario:</p></td><td><input type="text" size="30" class="caja1" name="usuario"

onkeypress=validar(event,'numeros',1)></td></tr>
   <td><p class="menu">Contraseña:</p></td><td><input type="password" size="30" class="caja1" name="pass"></td><tr>
   <tr><td colspan="3"><br><center><input type="submit" size="10" class="caja1" value="Entrar"> <input type="reset"

size="10" class="caja1" value="Borrar"></center></td></tr>
   <tr><td colspan=3></td></tr>
   </table></td></tr>
  </table>
</form>

//===================================================

// Acceso.php
//Aqui es donde se inicializan las variables de sesion que vamos a utilizar

<?

$sPwd=$_POST['pass'];
$sUsuario=$_POST['usuario'];

$sSQL="SELECT usuario,password,ap_pat,ap_mat,nombre FROM tblalumnos WHERE usuario='$sUsuario'";

$Conexion =mysql_connect("localhost","antonio","12345");
mysql_select_db("dblaselva", $Conexion);

$resultado =mysql_db_query($bd,$query);
$row = mysql_fetch_row($resultado);

   if ( $sPwd == $row[1])
    {
    $_SESSION['login']="SI";
    $_SESSION['usuario'] =$sUsuario;
    $_SESSION['nombre'] ="$row[3] $row[4] $row[5]";

    //Redireccionar
    echo "<script LANGUAGE=\"javascript\">";
    echo "location.href = \"carrito.php\"";
    echo "</SCRIPT>";
    }

   else
    {
     echo "<script LANGUAGE=\"javascript\">";
        echo "location.href = \"errorlogin.php\"";
    echo "</SCRIPT>";
    }


?>  

//Para Cerrar Sesion

session_destroy();



Saludos
Mexicali B.C.
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

anthonn

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #5 en: Viernes 29 de Septiembre de 2006, 17:41 »
0
Gracias F_Tanori..ya puedo mantener las sesiones ..pero ahora tengo otro problemilla....mis articulos que elijo no se agregan a mi carrito de compras, al parecer todos los querys estan bien por que los impirmo y si me muestra los datos de las consultas..sin embargo aun no ocmprendo por ke no me los agrega...envio mi codigo por si me pueden ayudar...de antemano muchas gracias

<?session_start();?>
<html>
<head>
<title>Carrito de compras</title>
</head>
<body>
<?
session_register('correo');
$conexion=mysql_connect("localhost","antonio","12345");
mysql_select_db("dblaselva",$conexion);
$query="select * from carrito where codigo ='$codigo'";
$result=mysql_query($query,$conexion);
if(mysql_num_rows($result))
{
      $row=mysql_fetch_array($result);
//el articulo ya esta en el carrito
       $cantidad=$row['cantidad']+1;
       $importe=$cantidad*$row['precio'];    
       $query="update carrito set cantidad='$cantidad', importe='$importe' where codigo='$codigo''";
       
      $result=mysql_query($query,$conexion);
}
else
    {
//Obtenemos los detalles del articulo a agregar
        $query="select * from articulo where codigo='$codigo'";
        $result=mysql_query($query,$conexion);
        $row=mysql_fetch_array($result);
        $nombre=$row['descripcion'];
        $precio=$row['precio'];
        $cantidad=1;
        $importe=$precio*$cantidad;
        //Insertamos el articulo al carrito
        $query="INSERT INTO carrito VALUES('$_GET[codigo]','$nombre','$precio','$cantidad','$importe')";
        $result=mysql_query($query,$conexion);
     }
   //Desplegamos el contenido del carrito
$query="select * from carrito";
$result1=mysql_query($query,$conexion);
echo "<table border=1>";
echo "<tr><td>codigo</td><td>Nombre</td><td>Precio</td><td>Cantidad</td><td>Importe</td><td>Subtotal</td></tr>";
$subtotal=0;
while ($row=mysql_fetch_array($result1))
{
        echo "<tr><td>",$row['codigo'];
        echo "</td><td>",$row['nombre'];
        echo "</td><td>",$row['precio'];
        echo "</td><td>",$row['cantidad'];
        echo "</td><td> <input type=text size=5 value=1",$row['cantidad'],">";
        echo "</td><td>",$row['importe'],"</td></tr>";
        $subtotal=$subtotal+$row['importe'];
}
echo "</table border='1'><br><br>";
echo "<td>subtotal:</td> ",$subtotal;
echo "<br><td> Iva: </td> ",$subtotal*0.15;
echo "<br> Total:  ",$subtotal*1.15;
echo "</table>";
echo "<br>";
echo "<a href='catalogo.php'>Seguir comprando</a>";
?>
</body>
</html>

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #6 en: Sábado 30 de Septiembre de 2006, 00:23 »
0
Hola
Si todo esta correcto con las consultas y

segun se ve en esta parte del codigo.....
....

 //Insertamos el articulo al carrito
$query="INSERT INTO carrito VALUES('$_GET[codigo]','$nombre','$precio','$cantidad','$importe')";
$result=mysql_query($query,$conexion);


'$_GET[codigo]'  <---- deberias de especificar el nombre del variable $_GET['codigo']
y con comillas sencillas y al mismo tiempo colocarlo entre comillas '$_GET['codigo']' lo cual genera una "confusion" con cual comilla cierra a cual....


$query="INSERT INTO carrito VALUES(\'$_GET['codigo']\','$nombre','$precio','$cantidad','$importe')";


Me parece que ese es el error..
ademas me preguntaba si ya tienes el codigo del articulo en una variable ($codigo) porque la tomas de nuevo ($_GET[])?

porque no hacer esto... ¿?

$query="INSERT INTO carrito VALUES('$codigo','$nombre','$precio','$cantidad','$importe')";


** y que el número de campos que espera la tabla se igual a el número de valores que le envias y en la misma  posición ***


Suerte, Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

anthonn

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Mantener Sesiones
« Respuesta #7 en: Sábado 30 de Septiembre de 2006, 18:28 »
0
Gracias otra vez...problema resuelto...tenia un problema con mi tabla.. :D , lo hice como me dijiste y funciona .. te lo agradezco mucho.. :hola: