Ver Mensaje Individual
  #338 (permalink)  
Antiguo 21/06/2006, 08:53
Raules
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años, 6 meses
Puntos: 0
Entonces añado en la tabla de la base de datos esto por ejemplo:

Código:
CREATE TABLE soporte (
  id int(10) NOT NULL,
  id_soporte (10) NOT NULL auto_increment,
  fecha date NOT NULL,
  archivo_binario blob NOT NULL,
  archivo_nombre varchar(255) NOT NULL default '',
  archivo_peso varchar(15) NOT NULL default '',
  archivo_tipo varchar(25) NOT NULL default '',
  comentario_cliente varchar(255) NOT NULL default '',
  comentario_administador varchar(255) NOT NULL default '',
  PRIMARY KEY  (id_soporte)
) TYPE=MyISAM;
Añado el id soporte y la consulta la pondría mas o menos asi..

Código PHP:
$consulta_insertar " INSERT INTO soporte (id_soporte,comentario_cliente, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo,id) VALUES ('','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo','".$_SESSION['id']."')"
Pero lo que no me queda claro es donde puedo poner la variable sesion start..

La podría poner por ejemplo en el codigo de insertar?

insertar.php

Código PHP:
<?php  
//defino una sesion y guardo datos 
session_start(); 
$_SESSION['id']= $id;

//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:  
// No se comprueba aqui si se ha subido correctamente.  
if (empty($_FILES['archivo']['name'])){  
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..  
exit;  
}  

//establece una conexión con la base de datos.  
$conexion mysql_connect("localhost","","") or die("No se pudo realizar la conexion con el servidor.");  
mysql_select_db("tu_bd",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.  

// archivo temporal (ruta y nombre).  
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;  

// leer del archvio temporal .. el binario subido.  
// "rb" para Windows .. Linux parece q con "r" sobra ...  
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));  

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.  
$binario_nombre=$_FILES['archivo']['name'];  
$binario_peso=$_FILES['archivo']['size'];  
$binario_tipo=$_FILES['archivo']['type'];  

//insertamos los datos en la BD.  
$consulta_insertar " INSERT INTO soporte (id,comentario_cliente, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('$_SESSION['id']','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";  
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");  
header("location: formulario.php");  // si ha ido todo bien  
exit;  
?>
Quedaría asi bien con lo que me estas explicando...
perdona por el foyon cluster...