Foros del Web » Programando para Internet » PHP »

ayuda con sesiones

Estas en el tema de ayuda con sesiones en el foro de PHP en Foros del Web. hola tengo un problema usando sesiones se ke las estoy guardando bien pero no se pk cuando llamo a otro php me dice (Notice: Undefined ...
  #1 (permalink)  
Antiguo 03/12/2006, 10:05
 
Fecha de Ingreso: enero-2006
Mensajes: 51
Antigüedad: 18 años, 3 meses
Puntos: 0
ayuda con sesiones

hola tengo un problema usando sesiones se ke las estoy guardando bien pero no se pk cuando llamo a otro php me dice (Notice: Undefined index: usuario in c:\archivos de programa\easyphp1-8\www\mywedding\fileupload_v1\1.php on line 5) vamos ke esa variable esta vacia.lo curioso es ke tengo 1 variable de sesion ke si funcionan bien,eso es lo ke me desconcierta.

Estoy seguro de ke lo ke hago es correcto y no entiendo pk no funciona. aki dejo el primer php ke extrae la id de una fila y la almacena en una variable de sesion llamada id esta al final del archivo
Código PHP:
<?php
include ("includes/config.php");
include (
"includes/funciones.php");
session_start();
unset(
$_SESSION['xml']);
unset(
$_SESSION['id']);
$usuario $_POST['username'];
$xmltime();
$fin=".xml";
$xmls$usuario.$xml.$fin;
$_SESSION['xml'] = $xmls;
 if (isset(
$_SESSION['usuario'])) {//esta variable de sesion funciona
$fotografo$_SESSION['usuario'];//esta variable de sesion funciona

$cnx=conectar();
 
$query2=mysql_query("INSERT INTO evento(id_evento,fotografo,cliente,fecha_alta,xml)VALUES "."('','$fotografo','$usuario','','$xmls')");
              }
              
mysql_close($cnx);
              
$cnx=conectar();           

$query3=mysql_query("SELECT id_evento FROM evento WHERE xml='$xmls'");
$row mysql_fetch_array($query3);
$id_usuario$row['id_evento'];            
$_SESSION['id']=$id_usuario;//aki no se ke pasa pero no guarda la variable de sesion.            
}                                     
?>
El siguiente php sirve para subir imagenes esto va genial pero cuando intento guardarlas en la bda usando la variable $_SESSION['id']=$id_usuario guarda todo en la bda y el campo id_evento ke se supone ke tiene ke ser el de la sesion se keda vacio.

Código PHP:
<?
include ("includes/config.php");
include (
"includes/funciones.php");

session_start();
$cnx=conectar();

$id$_SESSION['id'];//aki no guarda nada y no entiendo pk
if ($_FILES['Filedata']['name']) {
    
//$nuevoNombre = time().".jpg";


    
$size 150// the thumbnail height

    
$filedir 'hola/'// the directory for the original image
    
$thumbdir 'hola/'// the directory for the thumbnail image
    
$prefix 'small_';
    
$prefix1 'BIG_'// the prefix to be added to the original name

    
$maxfile '2000000';
    
$mode '0666';
    
    
$userfile_name $_FILES['Filedata']['name'];
    
$userfile_tmp $_FILES['Filedata']['tmp_name'];
    
$userfile_size $_FILES['Filedata']['size'];
    
$userfile_type $_FILES['Filedata']['type'];
    
    if (isset(
$_FILES['Filedata']['name'])) 
    {
        
$prod_img $filedir.$userfile_name;
           
$nuevoNombre time();
        
        
$prod_img_thumb $thumbdir.$prefix.$nuevoNombre.$userfile_name;
        
$prod_img_thumb1 $thumbdir.$prefix1.$nuevoNombre.$userfile_name;

        
move_uploaded_file($userfile_tmp$prod_img);
        
chmod ($prod_imgoctdec($mode));
        
        
$sizes getimagesize($prod_img);

        
$aspect_ratio $sizes[1]/$sizes[0]; 

        if (
$sizes[1] <= $sizes[0])
        {
            
$new_width 500;
            
$new_height 500*$aspect_ratio $sizes[1]/$sizes[0];
        }else{
            
$new_height 398;
            
$new_width 398*$aspect_ratio1 $sizes[0]/$sizes[1];
        }

            
$new_width1 100;
            
$new_height1 100;


        
$destimg=imagecreatetruecolor($new_width,$new_height)
            or die(
'Problem In Creating image');
        
$srcimg=imagecreatefromjpeg($prod_img)
            or die(
'Problem In opening Source Image');
        if(
function_exists('imagecopyresampled'))
        {
            
imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
            or die(
'Problem In resizing');
        }else{
            
imagecopyresized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
            or die(
'Problem In resizing');
        }
        
imagejpeg($destimg,$prod_img_thumb,90)
        
//imagejpeg($destimg,$prod_img_thumb,90)
        //imagejpeg($destimg,"hola",90);
            
or die('Problem In saving');
            
        
imagedestroy($destimg);
        
        
        
        
$destimg1=imagecreatetruecolor($new_width1,$new_height1)
            or die(
'Problem In Creating image');
        
$srcimg1=imagecreatefromjpeg($prod_img)
            or die(
'Problem In opening Source Image');
        if(
function_exists('imagecopyresampled'))
        {
            
imagecopyresampled($destimg1,$srcimg1,0,0,0,0,$new_width1,$new_height1,ImageSX($srcimg1),ImageSY($srcimg1))
            or die(
'Problem In resizing');
        }else{
            
imagecopyresized($destimg1,$srcimg1,0,0,0,0,$new_width1,$new_height1,ImageSX($srcimg1),ImageSY($srcimg1))
            or die(
'Problem In resizing');
        }
        
imagejpeg($destimg1,$prod_img_thumb1,90)
        
//imagejpeg($destimg,$prod_img_thumb,90)
        //imagejpeg($destimg,"hola",90);
            
or die('Problem In saving');
            
        
imagedestroy($destimg1);
    }

@
unlink($prod_img); 


  
$query mysql_query("INSERT INTO imagenes (id_evento,galeria,image_small,image_big) VALUES "
                                           
."('$id','1','$prod_img_thumb1','$prod_img_thumb')");
}
?>
he probado a llamar un simple php ke haga un echo mostrando la variable de sesion despues de insertar el campo en la bda pero no me muestra nada.
  #2 (permalink)  
Antiguo 03/12/2006, 10:43
Avatar de Quest  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago
Mensajes: 129
Antigüedad: 21 años, 4 meses
Puntos: 2
probaste utilizando session_register ? revisa eso www.php.net/session_register
__________________
http://victorsanmartin.com
Web Developer
http://www.guiasitios.cl
  #3 (permalink)  
Antiguo 03/12/2006, 11:59
Avatar de g05l21  
Fecha de Ingreso: mayo-2006
Mensajes: 76
Antigüedad: 17 años, 11 meses
Puntos: 1
Quest, según la página de php.net el uso de session_register() es considerado obsoleto, así que mejor no deberías usarlo.

Sobre el problema de charlierun, deberías ir probando si a la variable $_SESSION['id'] guarda realmente algún valor.
Prueba con print_r ($_SESSION) después de darselo, o prueba a imprimirlo antes de meterla en la base de datos.

Por el resto parece a simple vista que el código está bien, con lo cual me hace suponer que la sentencia $_SESSION['id']=$id_usuario; no se está cumpliendo porque en tu base de datos el campo id_evento está vacío (has visto que en la sentencia "$query2=mysql_query("INSERT INTO evento(id_evento,fotografo,cliente,fecha_alta,xml) VALUES "."('','$fotografo','$usuario','','$xmls')");
" dejas ese campo vacío?)

Puestos a suponer, supongo que lo que intentarás es que ese campo se autoincremente mediante la bbdd, que esta en mysql (por lo de mysql_query) por lo tanto te recomiendo que no introduzcas ese id_evento con VALUES en blanco ya que si lo compruebas en tu base de datos seguramente esté vacio y de ahí vengan todos los problemas.

Espero que te sirvan cualquiera de las dos cosas.
Un saludo

PS: Para la próxima vez, no vendría mal un poco más de información, para evitar "suponer" ;)
__________________
.-. GeL/T0 .-. Quieres saber mas de mi? lee mi blog: http://g05l21.net
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 11:02.