Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/09/2004, 21:34
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 22 años
Puntos: 0
Despues de una amplia documentacion, estoy intentando algo que me funciona a medias.

Tengo un formulario 1 que es en donde el usuario llenara los datos a subir a la base de datos. Este formulario llama a un archivo .php que procesa e ingresa los datos en la base de datos; a su vez, redirecciona a un formulario 2 que deberia aparecer ya lleno con los datos rcientemente introducidos (tipo para modificar datos).

Asi, el usuario ya recibe todos los datos llenos y solo debe preocuparse de introducir una segunda foto y asi sucesivamente.

Cada foto se guarda en la tabla con un id diferente y los mismos datos de texto, lo que hace bastante facil mostrar los resultados.

El problema esta en que el formulario 2 nunca lo puedo recibir lleno. No me funciona. Entonces quedo en la misma... el usuario tendria que llenar todos los datos del formulario nuevamente, tantas veces como desee ingresar imagenes...Totalmente absurdo.

Los codigo...

formulario 1
Código PHP:
<? 
if (isset($_GET['proceso'])){ 
echo 
$_GET['proceso']."<br>"

?>
<FORM enctype="multipart/form-data" method="post" action="insert_images.php">
                    <table width="375">
                      <tr>
                        <td width="71"><div align="left" class="normal">Date:</div></td>
                        <td width="292"><div align="left">
                          <input name="date" type="text" id="date" size="20" align="left">
                        </div></td>
                      </tr>
                      <tr>
                        <td width="71"><div align="left" class="normal">Image:</div></td>
                        <td width="292"><div align="left">
                          <input name="archivo" type="file" id="archivo" size="33" align="left">
                        </div></td>
                      </tr>
                      <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                      </tr>
                      <tr>
                        <td colspan="2"><div align="center">
                            <input type="submit" name="submit" value="Insert">
                        </div></td>
                      </tr>
                    </table>
                  </form>
Insertar 1 (insert_images.php)
Código PHP:
<?php
 
//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: form_images.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("db110.perfora.net","dbo108179979","WhFKdm7M") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("db108179979",$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 records (id, date, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$date', '$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: form_images2.php");  // si ha ido todo bien 
exit;
 
?>
formulario 2
Código PHP:
<? 
if (isset($_GET['proceso'])){ 
echo 
$_GET['proceso']."<br>"
}
?>

<?
$conexion 
mysql_connect("db110.perfora.net","dbo108179979","WhFKdm7M") or die("Can't connect to server."); 
mysql_select_db("db108179979",$conexion) or die("Can't select the database");
 
$sql="SELECT * FROM records WHERE date='".$_POST['date']."'"
$result mysql_query($sql) or die (mysql_error()); 
$resultado=mysql_fetch_array($result);  
?>

<FORM enctype="multipart/form-data" method="post" action="insert_images2.php">
                    <table width="375">
                      <tr>
                        <td width="71"><div align="left" class="normal">Date:</div></td>
                        <td width="292"><div align="left">
                          <input name="date" type="text" id="date" size="20" align="left" value="<? echo ".$_POST['date']."?>">
                        </div></td>
                      </tr>
                      <tr>
                        <td width="71"><div align="left" class="normal">Image:</div></td>
                        <td width="292"><div align="left">
                          <input name="archivo" type="file" id="archivo" size="33" align="left">
                        </div></td>
                      </tr>
                      <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                      </tr>
                      <tr>
                        <td colspan="2"><div align="center">
                            <input type="submit" name="submit" value="Insert">
                        </div></td>
                      </tr>
                    </table>
                  </form>
El insertar 2 (insert_images2.php)
Código PHP:
<?php
 
//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: form_images2.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("db110.perfora.net","dbo108179979","WhFKdm7M") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("db108179979",$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 records (id, date, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$date', '$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: form_images2.php");  // si ha ido todo bien 
exit;
 
?>
He hecho 800 mil pruebas diferentes.. me he leido todos los manuales posibles, tutoriales, foros y nada...!!!

Se que el error debe estar en MySQL pero de verdad que no doy con el.