Foros del Web » Programando para Internet » PHP »

No inserta variable de sesion en Base de datos

Estas en el tema de No inserta variable de sesion en Base de datos en el foro de PHP en Foros del Web. La cuestion es que inicio sesion e imprimo las variables de sesion, las cuales salen impresas en pantalla con sus valores correspondientes. Luego cuando hago ...
  #1 (permalink)  
Antiguo 21/03/2007, 23:57
 
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 1
No inserta variable de sesion en Base de datos

La cuestion es que inicio sesion e imprimo las variables de sesion, las cuales salen impresas en pantalla con sus valores correspondientes.
Luego cuando hago la query con el update, entra en el if y me imprime su script no funciona, es decir no se realiza la consulta.
Quiero saber porque no hace la consulta,supongo que es porque son variables de sesion.
QUe deberia modificar?

Config.php
Código PHP:
<?
$conex
=mysql_connect("localhost","root","");
mysql_select_db("ebook",$conex);
?>
descargas.php
Código PHP:
<?
include("config.php");
session_start();
echo 
$usuar;
echo 
$libros;
$libros=$libros+1;
$usuaria=$usuar;

$consulta=mysql_query("UPDATE usuarios descargados='$libros' WHERE user=$usuario");
                             if (
$consulta==true)
                             {
                             echo 
"Su script anda a la perfeccion<br>";
                             echo 
"<a href=catalogo.php>Ir al catalogo</a>";
                             }
                             else
                             {
                             echo 
"Su script no funciona";
                             }
                             
                             
mysql_close($conex);
?>
Gracias de antemano

Saludos
  #2 (permalink)  
Antiguo 22/03/2007, 01:32
 
Fecha de Ingreso: marzo-2007
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: No inserta variable de sesion en Base de datos

Hola

Dos cositas, no entiendo muy bien lo de que te salen los valores de las variables de sesión, cuando las variables de sesión se guardan en $_SESSION, claro, que me puedo equivocar.

La otra cosa, update te devuelve true porque no actualiza ningún dato, devuelve false cuando es error, pero no te dice si ha actualizado varias filas, para ello deberías usar mysql_affected_rows().

De todas formas, en el script tienes que definida la variable $usuaria y luego en la query usas $usuario.

Saludos
  #3 (permalink)  
Antiguo 22/03/2007, 01:57
 
Fecha de Ingreso: septiembre-2006
Ubicación: Argentina
Mensajes: 190
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: No inserta variable de sesion en Base de datos

Una pregunta rápida y fácil... de donde sale $libros y $usuar???

Igualmente:
Código PHP:
<?
include("config.php");
session_start();
echo 
$usuar;
echo 
$libros;
$libros=$libros+1;
$usuario=$usuar;

$consulta=mysql_query("UPDATE usuarios SET descargados='$libros' WHERE user='$usuario'");
               if (
$consulta==true)
                {
               echo 
"Su script anda a la perfeccion<br>";
               echo 
"<a href=catalogo.php>Ir al catalogo</a>";
                } else {
               echo 
"Su script no funciona";
                }
               
mysql_close($conex);
?>
Probá con eso, te faltó el SET y una variable estaba mal: $usuario > $usuaria

Saludos.
__________________
Gustavo
  #4 (permalink)  
Antiguo 22/03/2007, 02:00
 
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: No inserta variable de sesion en Base de datos

Cita:
Iniciado por Gustavo_AR Ver Mensaje
Una pregunta rápida y fácil... de donde sale $libros y $usuar???

Igualmente:
Código PHP:
<?
include("config.php");
session_start();
echo 
$usuar;
echo 
$libros;
$libros=$libros+1;
$usuario=$usuar;

$consulta=mysql_query("UPDATE usuarios SET descargados='$libros' WHERE user='$usuario'");
               if (
$consulta==true)
                {
               echo 
"Su script anda a la perfeccion<br>";
               echo 
"<a href=catalogo.php>Ir al catalogo</a>";
                } else {
               echo 
"Su script no funciona";
                }
               
mysql_close($conex);
?>
Probá con eso, te faltó el SET y una variable estaba mal: $usuario > $usuaria

Saludos.
gracias por contestar
Mira:
$libros y $usuar son variables de sesion.
  #5 (permalink)  
Antiguo 22/03/2007, 02:07
 
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: No inserta variable de sesion en Base de datos

ya funciona el script
quedo asi
Código PHP:
<?
include("config.php");
session_start();
echo 
$usuar;
echo 
$libros;
$libros=$libros+1;


$consulta=mysql_query("UPDATE usuarios SET descargados='$libros' WHERE user='$usuar'");
                             if (
$consulta==true)
                             {
                             echo 
"Su script anda a la perfeccion<br>";
                             echo 
"<a href=catalogo.php>Ir al catalogo</a>";
                             }
                             else
                             {
                             echo 
"Su script no funciona";
                             }
                             
                             
mysql_close($conex);


?>
Gracias a ambos la ayuda

Saludos
  #6 (permalink)  
Antiguo 22/03/2007, 02:12
 
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: No inserta variable de sesion en Base de datos

Cita:
Iniciado por displaynone Ver Mensaje
Hola

Dos cositas, no entiendo muy bien lo de que te salen los valores de las variables de sesión, cuando las variables de sesión se guardan en $_SESSION, claro, que me puedo equivocar.

La otra cosa, update te devuelve true porque no actualiza ningún dato, devuelve false cuando es error, pero no te dice si ha actualizado varias filas, para ello deberías usar mysql_affected_rows().

De todas formas, en el script tienes que definida la variable $usuaria y luego en la query usas $usuario.

Saludos
Es que yo declare la variable de sesion con esta sentencia

session_register("libros");

y con eso ya queda $libros como variable de sesion, entonces cuando inicio sesion nada mas con referir a esta variable ya la puedo utilizar

Grax por la ayuda
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 06:00.